У меня есть проект, который состоит из 4 кадров (+ один начальный кадр), где каждый кадр содержит анимацию на основе класса Timer.
Вы можете посетить каждый кадр, выбрав соответствующую кнопку.
Допустим, анимация в кадре длится в общей сложности 30 секунд, но я слишком нетерпелив, чтобы посмотреть ее и принять решениеframe2, что тоже мне не нравится.В фоновом режиме, однако, анимация для frame1 все еще работает, потому что, когда я перехожу к кадру 2 и возвращаюсь к frame1, анимация начинается как с начала, так и продолжается с того места, где я остановился.
Я также получаю сообщение об ошибке:
TypeError: Error #1009: Kan geen eigenschap of methode benaderen via een verwijzing naar een object dat null is.
at fl.transitions::TransitionManager/saveContentAppearance()
at fl.transitions::TransitionManager/set content()
at fl.transitions::TransitionManager()
at MethodInfo-111()
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()
Есть ли решение моей проблемы?
Как остановить анимацию, когда я оставляю один кадр, чтобы при повторном его просмотре он начинался с начала, а не с половины?
Спасибо за чтение!
Вот мой код:
Кнопки массива
var knopArray:Array = new Array(knop1, knop2, knop3, knop4);
Функции массива
var functionArray:Array = new Array(naarFrame1, naarFrame2, naarFrame3, naarFrame4);
Подключение прослушивателей событий
for(var i:int = new int (0) ; i < knopArray.length; i++){
knopArray[i].buttonMode = true;
knopArray[i].addEventListener(MouseEvent.CLICK, klik)
function klik(event:MouseEvent):void{
for(var i:int = new int (0) ; i < knopArray.length; i++)
if (event.currentTarget == knopArray[i]){
knopArray[i].addFrameScript(0, functionArray[i]);
}
}
}
перейти к кадру и начать анимацию
function naarFrame1(){
gotoAndStop("frame1");
var timerEenA:Timer = new Timer(1000,1);
//animations
timerEenA.start();
}
function naarFrame2(){
gotoAndStop("frame2");
var timerTweeA:Timer = new Timer(1000,1);
//animations
timerTweeA.start();
}