May 12th, 2009

iblard my home

Злобный Flash

Делаю очередной ролик на флеше.
Там, внутри, на первый взгляд все устроено здорово: можно весь мульт поделить на сценки и проигрывать их в нужной последовательности. На внутреннем скриптовом языке есть команды перехода к номеру кадра или метке.
Логично предположить, что есть переходы локальные, внутри сцены, а есть глобальные.

Так вот. Как бы помягче сказать. Фиг.
Нету там локальных переходов.
То есть, если у меня в одной из сцен 100 кадров, а перед этим игралось еще 2 сцены, и мне нужно недетерминированно прыгнуть куда-то в середину текущей (в вычисляемый на ходу кадр), то сделать это нельзя.
Потому, что счетчик кадров есть только глобальный, и узнать, где я сейчас нахожусь относительно начала сцены нельзя абсолютно никак.
 
Т.е. в момент создания SWF файла все сцены склеиваются в один непрерывный ролик и информация о границах теряется. Можно сделать джамп типа ("Имя сцены", номер_кадра) если номер кадра точно известен. А  с вычисляемыми переменными — никак.

Приходится засовывать себе в... в глубины души все правила по созданию поддерживаемого кода и заводить переменную "количество кадров в сценах перед этой", которую каждый раз вручную править.