2014-01-05 3 views
0

Я использовал некоторый stage.addEventListener в моем проекте в as3, но я хочу, чтобы эти сценические события работали только с определенным фреймом. могу ли я поставить сцену на ложь или что-то еще? как я могу избежать этого, когда я нажимаю кнопку на сцене, другие вещи/объекты не начинают делать что-то, потому что они связаны с stage.addEventListener, может кто-нибудь мне помочь?Как использовать stage.addEventListener в as3?

ответ

0

В функции, вы можете проверить кадр, как:

if(currentFrame == 'SpecificFrame') 
{ 
    //codeHere 
} 

Лучше было быть, чтобы удалить событие с removeEventListener при смене кадров.

Однако все дети являются частью сцены, поэтому вы не можете помешать Объектам, связанным со сценой, не выполнять Событие. Однако вы можете сделать объект тем же размером, что и ступень ниже всех других объектов (через код, swapChildren или setChildIndex).

+0

если я использую stage.currentFrame Я получаю эту ошибку: не правильная статическая flash.display: Stage. – user2852398

+0

@ user2852398 Удалить «stage.' – Cilan

0

Если вы хотите что-то сделать на определенном кадре, используйте следующий код.

stage.addEventListener(Event.ENTER_FRAME, chkit); 

function chkit(event:Event):void{ 
    if (currentFrame == 90){ 
    trace("Reached"); // whatever you want to be done on reaching particular frame 
    } 
    else{ 
    //things that should be done when particular frame is not reached 
    } 
} 
Смежные вопросы