Остановить основную временную шкалу из функции класса
Мне нужно остановить фильм на первом кадре с помощью функции из класса, я знаю, что могу использовать stop(); или this.stop(); но как мне остановить основную временную шкалу из функции класса?
package {
public class myApplication {
public function myApplication(stageRoot:Stage) {
stop(); // this doesn't work
this.stop(); // this doesn't work either
}
}
}
1 ответ
Вы можете получить доступ к основной временной шкале из любого экранного объекта (который находится в списке отображения) с помощью root
ключевое слово:
MovieClip(root).stop();
Если вашего класса нет в списке отображения (как кажется, ваш случай), то вам нужно будет передать ссылку на что-то, что есть. Я вижу, что вы переходите к этапу, так что вы можете использовать это:
MovieClip(stage.getChildAt(0)).stop();
Основная временная шкала (если вы вручную не добавили что-то еще на сцену в позиции 0) будет первым потомком stage
,
Таким образом, ваш код будет выглядеть так:
public function myApplication(stageRoot:Stage) {
MovieClip(stageRoot.getChildAt(0)).stop();
}
ИЛИ, если на основе ваших комментариев вы просто передаете корневую шкалу в:
public function myApplication(timelineRoot:MovieClip){
timelineRoot.stop();
//stage can be had by doing: timelineRoot.stage
}