Руководство по actionscript. часть 4, стр. 136
Листинг 24.3. Децентрализованное управление анимацией
package { import flash. display.*; import flash. events.*; import flash. text.*;
public class TextTo300 extends TextField { public function TextTo300 ( ) { }
public function moveTextRight (e:Event):void { if (x <= 300) { x += 10;
if (t. x > 300) { t. x = 300;
}
} else { stop( );
}
}
public function start ( ):void { // Начинаем воспроизведение анимации addEventLi stener(Event. ENTER_FRAME. moveTextRi ght);
}
public function stop ( ):void { // Останавливаем анимацию
removeEventLi stener(Event. ENTER_FRAME, moveTextRi ght);
}
}
}
Следующий код демонстрирует основной класс SWF-файла, в котором применяется класс TextTo300 из листинга 24.3:
package { import flash. display.*; import flash. text.*;
public class TextAnimation extends Sprite { private var t:TextTo300;
public function TextAnimation ( ) { // Создаем экземпляр класса TextTo300 t = new TextTo300( ); t. text = «Hello»;
t. autoSize = TextFieldAutoSize. LEFT; addChild(t);
// Запускаем анимацию t. startC );
}
}
}
Влияние скорости кадров на анимации, создаваемые с помощью события Event. ENTER_FRAME. Поскольку событие Event. ENTER_FRAME синхронизируется со скоростью кадров, для более высокой скорости функции-приемники события Event. ENTER_FRAME будут вызываться чаще по сравнению с более низкой скоростью. Таким образом, если мы перемещаем объект по экрану, используя функцию-приемник события Event. ENTER_FRAME, увеличение скорости кадров может предвещать увеличение скорости анимации.