Я часто задаюсь вопросом об одном и том же.Занимался программированием слишком долго, чтобы не видеть абсолютную выгоду в исключении кода, но я определенно хотел бы - по-моему - по-прежнему поддерживать связь между временной шкалой и некоторыми событиями.Это инструмент, так что, очевидно, просто отказаться от глупой идеи.
Кроме того, вы можете программно получить как текущий кадр фрагмента ролика, так и соответствующий ярлык.
http://adobe.ly/osU3A6 - текущее свойство кадра
http://adobe.ly/o1JVn5 - список меток кадра
Создать прослушиватель на ENTER_FRAME, который будет проверять метки видеоклипов.Вы могли бы даже написать симпатичный небольшой сервис, который предоставил бы централизованное место для регистрации слушателей с каким-то специальным «синтаксисом меток».
Примерно так:
LabelDispatcher.addEventListener (movieClipTarget,frameLabel, callBackFunc);
Я на самом деле не запускал это, и я уверен, что он будет полон ошибок, но сервис может выглядеть примерно так:
addEventListener (target: movieClip, frameLabel: String, callBack: Function): Boolean {
this.internalListOfListens.push( { target:target, frameLabel:frameLabel, callBack:callBack } );
}
Когда вы будете готовы начать действовать с метками кадров, зарегистрируйте этот прослушиватель на EnterFrame рабочей области:
открытая функция labelListenerPulse (событие: событие): void {
for( listenedTo:Object in this.internalListOfListens ) {
var target:MovieClip = listenedTo.target as MovieClip;
if ( target.currentFrameLabel == listenedTo.frameLabel ) {
var callBack:Function = listenedTo.callBack as Function;
callBack( new Event( blah blah blah... ) );
}
}
}