![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Добрый день! Скажите, почему когда я нажал и удерживаю какую либо кнопку, все происходит как надо, а когда я нажимаю еще одну любую кнопку, то функция прекращает выполняться:
keyLst.onKeyDown = function() {
if(Key.isDown(Key.RIGHT)) {
flyRight = true;
flyLeft = false;
flyStop = false;
RightKey();
}
if(Key.isDown(Key.LEFT)) {
flyRight = false;
flyLeft = true;
flyStop = false;
LeftKey();
}
if(Key.isDown(Key.UP)) {
UpKey();
}
if(Key.isDown(Key.DOWN)) {
DownKey();
}
if(Key.isDown(Key.SPACE)) {
if(attack == false) {
SpaceKey();
bomb_mc.onEnterFrame = PointChecker;
} else {
NotReloaded();
}
}
}
keyLst.onKeyUp = function() {
flyLeft = false;
flyRight = false;
flyStop = true;
}
Key.addListener(keyLst);
Спасибо.
__________________
Убейте меня! |
|
|||||
|
Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
|
Ибо при нажатии второй кнопки, событие первой кнопки «перекрывается» событием второй. Прекращайте действие, только когда нужную кнопку отпустили.
|
|
|||||
|
Регистрация: Jan 2006
Адрес: Novosibirsk
Сообщений: 353
|
а вот такой код?
attachMovie("mc","mc",1)
mc._x=100
mc._y=100
_root.onEnterFrame = function() {
if (Key.isDown(Key.RIGHT)) {moveBall("right");}
if (Key.isDown(Key.LEFT)) {moveBall("left");}
if (Key.isDown(Key.UP)) {moveBall("up");}
if (Key.isDown(Key.DOWN)) {moveBall("down");}
};
function moveBall(dir)
{
if(dir=="right")
{mc._x+=2}
if(dir=="left")
{mc._x-=2}
if(dir=="up")
{mc._y-=2}
if(dir=="down")
{mc._y+=2}}
|
|
|||||
|
Ну я почти так и сделал впринципе. Только вместо у меня setInterval вместо onEnterFrame
Но ведь намного краше со слушетелем Key, странно почему так хреново работает с ним...
__________________
Убейте меня! |
![]() |
![]() |
Часовой пояс GMT +4, время: 06:23. |
|
|
« Предыдущая тема | Следующая тема » |
|
|