2014-08-02 6 views
0

1-й мувиклип трубы содержит 3 кадра «нормальный», «правый» и «левый», а также мувиклип пламени на другом слое. Когда я нажимаю направо или налево, должна быть анимация пламени, которая представляет собой мувиклип с 4 кадрами внутри него. ПРОБЛЕМА Я получаю один раз анимация, а затем анимация пламени останавливается. Я хочу пламя movieclip, чтобы продолжить анимацию, когда мой ключ нажат, как огонь горит.Всплывающая анимация при нажатии клавиши

var speedHoriz:Number = 0; 
function animPig(evt:Event):void{ 
    pipe.x += speedHoriz; 
} 
pipe.addEventListener(Event.ENTER_FRAME, animPig); 

function keyDownHandler (evt:KeyboardEvent):void { 
    if(evt.keyCode==37) { 
     speedHoriz -= .1;  
     pipe.gotoAndStop("left"); 
    } else if(evt.keyCode==39) { 
     speedHoriz += .1; 
     pipe.gotoAndStop("right"); 
    } 
} 
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); 

function keyUpHandler (evt:KeyboardEvent):void { 
    pipe.gotoAndStop("normal"); 
} 
stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler); 

SWF

+0

@lgogogo, если вы нажмете «пламя» MovieClip на свою сцену, правильно ли это работает? – helloflash

+0

Его зацикливание да. Но мне нужно использовать его с трубой. – Igogogo

+0

@ lgogogo, если этот MovieClip работает на сцене, у него не будет причин не работать в другом MovieClip. Пламя состоит только из четырех кадров (а не кода)? – helloflash

ответ

0

Я нашел решение! Человек с другого форума помог мне: D! Вам нужно сбросить настройки клавиатуры.

function keyDownHandler (evt:KeyboardEvent):void { 
if(evt.keyCode==37) { 
    speedHoriz -= .1;  
    keyCode==evt.keyCode?null:pipe.gotoAndStop("left"); 

} else if(evt.keyCode==39) { 
    speedHoriz += .1; 
    keyCode==evt.keyCode?null:pipe.gotoAndStop("right"); 
} 
keyCode=evt.keyCode; 
} 
Смежные вопросы