Просмотр полной версии : События клавиш
Подскажите, как прописать во фреймы события по клавишам? Например, по нажатию одной клавиши перейти и остановиться в следующем кадре, и аналогично перейти обратно.
Важна именно обработка событий...
DarkLight
21.10.2006, 20:19
->Поиск.
Ключевые слова Key.isDown, Key.onKeyDown
инфы море
2 Neon_iT:
Пример:
var left:Number = 275;
var top:Number = 400;
var footStepsClip:MovieClip = this.attachMovie("footSteps", "footSteps", this.getNextHighestDepth(), {_x:left, _y:top});
footStepsClip.gotoAndStop(1);
var myKeyListener:Object = new Object();
myKeyListener.onKeyDown = myOnKeyDown;
Key.addListener(myKeyListener);
function myOnKeyDown()
{
if (Key.isDown(Key.RIGHT) && footSteps._currentframe < footSteps._totalframes)
{
footStepsClip.nextFrame();
}
else
{
if (Key.isDown(Key.LEFT) && footSteps._currentframe > 1)
{
footStepsClip.prevFrame();
}
}
}
Исходник прикрепляю...
Я вставляю в первый фрейм вот такой код
stop();
var myKeyListener:Object = new Object();
myKeyListener.onKeyDown = myOnKeyDown;
Key.addListener(myKeyListener);
function myOnKeyDown()
{
if (Key.isDown(Key.RIGHT))
{
gotoAndStop(10);
}
else
{
if (Key.isDown(Key.LEFT))
{
gotoAndStop(15);
}
}
}
но он почему то не срабатывает...
DarkLight
21.10.2006, 22:17
2Neon_iT
У меня этот код работает
2Neon_iT
У меня этот код работает
кинь пожалуйста исходник
DarkLight
21.10.2006, 22:23
Вот: 15556
Я работаю в MX и после того, как пересохранил в mx, там он работать перестал...
DarkLight
21.10.2006, 22:38
убери ":Object" - заработает.
2 Neon_iT:
Я ж вам прикреплял исходник:
http://flasher.ru/forum/attachment.php?attachmentid=15555&d=1161449067
Поставил на первый кадр такой код:
stop();
var myKeyListener = new Object();
myKeyListener.onKeyDown = myOnKeyDown;
Key.addListener(myKeyListener);
function myOnKeyDown() {
if (Key.isDown(Key.RIGHT)||Key.isDown(Key.ENTER)||Key.isDown(Key.SPACE)) prevFrame();
if (Key.isDown(Key.LEFT)) nextFrame();
}
но после нескольких переходов что-то сбивается, и переход осуществляется через 3 кадра и более. Как это побороть?
Причина описана тут
http://flasher.ru/forum/showthread.php?t=87002
Лечится так
stop ();
if (myKeyListener == undefined) {
var myKeyListener = new Object ();
myOnKeyDown = function () {
if (Key.isDown (Key.RIGHT) || Key.isDown (Key.ENTER) || Key.isDown (Key.SPACE)) {
prevFrame ();
}
if (Key.isDown (Key.LEFT)) {
nextFrame ();
}
};
myKeyListener.onKeyDown = myOnKeyDown;
Key.addListener (myKeyListener);
}
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.