![]() |
Flex: остановить проигрывание SWF
Есть такой код
Код AS3:
|
Подписаться на enterFrame, посчитать кадры и остановить.
|
wvxvw, думаю я правильно понял. Вот я добавил, но работать не хочет. В чем ошибка?
Код AS3:
|
Ну, может проигрывается не основная шкала клипа, а какой-то из вложеных... это уже у дизайнера надо спрашивать :)
|
также я думаю у меня не происходит реакции на addEventListener
если в checkFrm добавить только строку event.target.stop(); , то swf все равно не останавливается Добавлено через 1 минуту wvxvw, так дело в том, что я все сам делаю (честно говоря не очень в этом соображаю, у меня профиль PHP) Слой у меня во Flash одни. К примеру если запустить Flash и просто наделать фреймов и сохранить - вот в принципе моя анимация и есть, ни каких там вложенностей или чего-то хитрого нет Добавлено через 52 минуты еще одно, если сделать алерт Код AS3:
Добавлено через 1 час 48 минут быть может я неправильно сделал SWF? Файл делал во Flash 5. Насоздавал фреймов, потом сделал Export Movie и получил SWF. |
Ого... пятый флеш... а где вы его взяли? :) или в смысле CS5 - хотя тоже, это ж еще закрытая бета, у меня его еще нет... :) Я думаю, что флексовый компилятор не проверяли на совместимость с такими старыми версиями... это ж было на заре человечества, году так в 2000... а может и раньше :)
В смысле, текущая версия флеша - 10, на подходе - 11. |
именно Flash 5 :) другого под рукой не было. Т.е вполне возможно, что проблема именно в нем? ладно для начала найдем по-новее
Добавлено через 7 часов 12 минут установил Flash CS3. в нем экспортировал swf. проблема таже. В одном месте подсказали: AVM - разные. Толком не могу понять что это значит, и как состыковать это Добавлено через 8 часов 39 минут вернее будет: посоветуйте на какие моменты обращать внимание, чтобы избежать таких вот нестыковок |
AVM - ActionScript Virtual Machine, их есть две AVM1 и AVM2. AVM1 - это ActionScript 1 - 2, AVM2 - ActionScript 3. Если вы загружаете флешку скомпилированую для AVM1 в AVM2, то она там видится как AVM1Movie (который не является наследником MovieClip), и у него нет свойств типа currentFrame или методов nextFrame() / gotoAndPlay() и т.п.
Если в AVM1Movie нету никаких скриптов, его проще переделать в AVM2 - нужно будет распарсить его и заменить версию. Если в нем есть скрипты, тогда вам прийдется делать обертку на AS2 и из этой обертки общаться через LocalConnection с загруженым клипом. Второй вариант я когда-то делал: http://code.google.com/p/e4xu/source...#svn/trunk/as2 + http://code.google.com/p/e4xu/source...vxvws/lcbridge или http://e4xu.googlecode.com/files/avm1bridge.zip Первый вариант: http://code.google.com/p/as3-classes...cibleLoader.as Но проще всего - не работать со старыми SWF :) |
wvxvw, спасибо за ответ. Просветился немного
но по чему так все сложно... )) ну суть я вроде уловил. Получается, что у меня SWF поддерживает AVM1, и при подгрузке данного файла во Flex - теряются все его свойства. Следовательно нужно скомпилировать Swf под AVM2, тогда и отпадет потребность в переконвертировании AVM1 в AVM2, парсинг и т.д. Я так полагаю что у Flash CS4 должна быть такая возможность - компилить SWF под AVM2. Если да, то как? |
>> Я так полагаю что у Flash CS4 должна быть такая возможность - компилить SWF под AVM2. Если да, то как?
Ctrl + Shift + F12 > Flash > ActionScript Version > выбрать Action Script 3. |
| Часовой пояс GMT +4, время: 06:40. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.