![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jun 2003
Адрес: Москва
Сообщений: 168
|
люди ни фига не получается
хочу чтобы при нажатии на пробел отрабатывалось действие (tween начиная с определенного фрейма мувика) а при отпускании действие останавливалось на 1 фрейме причем, все бы хорошо, только вот если удерживать клавишу пробела, действие зацикливается (рука останавливается на высшей точке (на последнем фрейме), а надо чтоб опустилась в исходное положение onClipEvent(keyDown){ if (Key.isDown(Key.SPACE)){ gotoAndPlay(2); } else { gotoAndStop(1); } } это неправильный код перепробовала разные варианты и Key.isDown(Key.SPACE), и Key.getCode()==Key.SPACE не помогает |
|
|||||
|
Я же вроде писал уже?
|
|
|||||
|
А мне вот больше нравится так:
__________________
судью - на мыло, из игроков - вить веревки. |
|
|||||
|
ну тогда уж
Key.addListener( k={p:false} );
k.onKeyDown = function() {
if (Key.getCode(Key.SPACE)&&!this.p) {
Key.broadcastMessage("onSpacePressed");
this.p=true;
}
}
this.onKeyUp = function() {
if (Key.getCode(Key.SPACE)){
Key.broadcastMessage("onSpaceReleased");
this.p=false;
}
}
Key.addListener(this);
this.onSpacePressed=function(){this.gotoAndPlay(2);}
this.onSpaceReleased=function(){this.gotoAndStop(1);}
|
|
|||||
|
Цитата:
__________________
судью - на мыло, из игроков - вить веревки. |
|
|||||
|
я отнюдь не против Listener'ов (к слову сказать onClipEvent(keyDown) разве не тоже самое)
но тут дело в том, что надо 'чтобы при нажатии на пробел отрабатывалось действие (tween начиная с определенного фрейма мувика) а при отпускании действие останавливалось на 1 фрейме' при долгом нажатии на клавишу onKeyDown отработает несколько раз :и как ты это без флага обойдешь? зы:мой код здесь ни причем (хотя может пригодится если на этот пробел должны будут реагировать много объектов) это я ,собственно, выпендрился так |
|
|||||
|
Для начала - покаюсь. Невнимательно прочитал первый пост. Вот исправленный код.
flag = false;
function myOnKeyDown() {
if (Key.isDown(Key.SPACE)) {
if (!flag) {
trace(2);
flag = !flag;}
} else {
trace(1);
}
}
function myOnKeyUp(){
flag = !flag;
}
var myListener = {};
myListener.onKeyDown = myOnKeyDown;
myListener.onKeyUp = myOnKeyUp;
Key.addListener(myListener);
Цитата:
Про "Key.broadcastMessage" я так и подумал, что ты подразумеваешь передачу сообщений нескольким объектам. ЗЫ надеюсь, без обид
__________________
судью - на мыло, из игроков - вить веревки. |
|
|||||
|
'обработчик событий onClipEvent может быть привязан только к мувиклипу'
а что мувик нельзя заставить слушать Key (он, что уже не объект)? логика здесь такая: раз ты к коду с onClipEvent(keyDown) (пример Елё) хочешь добавить еще один (лишний?) объект, слушающий Key(что-там говорил дедушка Кнут ?), то пусть он походу хотя бы вещает об этом событии, ну и имеющий уши (т.е. подписаный на Key) да услышит.. тогда его существование будет оправдано, а иначе тоже самое может делать и сам мувик.. |
![]() |
Часовой пояс GMT +4, время: 20:53. |
|
|
« Предыдущая тема | Следующая тема » |
|
|