|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Nov 2009
Сообщений: 15
|
totalFrames: исправьте код, пожалуйста
Необходимо получить totalFrames в подгруженом мувике.
Исправьте код пожалуйста, на Вашем форуме много подобных вопросов, но доконца не доведены. package { import flash.display.Loader; import flash.display.MovieClip; import flash.events.*; import flash.net.URLRequest; import flash.events.Event; public class Loaders extends MovieClip { var request:URLRequest = new URLRequest("dead.swf"); public function Loaders() { var loader = new Loader(); var targetClip = loader.content as MovieClip; loader.load(request); addChild(loader); loader.addEventListener(Event.COMPLETE, compl); trace("totalFrames in Parent:\t", this.totalFrames); } public function compl(Event):void { trace("totalFrames in Child:\t", targetClip.totalFrames); } } } Добавлено через 21 минуту Нашел, что если подружаемая флешка старой версии, то может не пройти. http://help.adobe.com/ru_RU/ActionSc...0204-7d9e.html Можно ли тогда использовать методы из AS1/AS2? |
|
|||||
Регистрация: Feb 2009
Сообщений: 1,195
|
А как targetClip должен быть виден в compl, если он объявлен в конструкторе?
|
|
|||||
package { import flash.display.Loader; import flash.display.MovieClip; import flash.events.*; import flash.net.URLRequest; import flash.events.Event; public class Loaders extends MovieClip { var request:URLRequest = new URLRequest("dead.swf"); public function Loaders() { var loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, compl); loader.load(request); } public function compl(evt:Event):void { var targetClip:MovieClip = evt.target.content as MovieClip; trace("totalFrames in Child:\t", targetClip.totalFrames); addChild(loader); } } }
__________________
...вселенская грусть Последний раз редактировалось gloomyBrain; 30.11.2009 в 19:08. |
|
|||||
Регистрация: Nov 2009
Сообщений: 15
|
Не срабатывает событие COMPLETE, при других событиях выдает ошибку доступа к НУЛЛ-методу.
|
|
|||||
Регистрация: Mar 2008
Сообщений: 259
|
loader.contentLoaderInfo если слушать?
|
|
|||||
Регистрация: Nov 2009
Сообщений: 15
|
Так работает, на переменную targetClip не ругается.
Но выдает ошибку в trace: TypeError: Error #1009: Cannot access a property or method of a null object reference. at Loaders/compl() Добавлено через 1 минуту Может это связано с тем, что для dead.swf нет методов AS3? Добавлено через 18 минут targetClip = null оказывается...... Добавлено через 46 минут Результат [object AVM1Movie] Добавлено через 48 минут Может действительно в этом дело и как пишется в: http://help.adobe.com/ru_RU/ActionSc...0204-7d9e.html "Когда успешно загружен SWF-файл версии AVM1, загруженным объектом (свойством Loader.content) будет объект AVM1Movie. Экземпляр AVM1Movie отличается от экземпляра MovieClip. Это экранный объект, но в отличие от фрагмента ролика, он не включает методов и свойств, связанных с временной шкалой. Родительский SWF-файл версии AVM2 не будет иметь доступа к свойствам, методам или объектам загруженного объекта AVM1Movie." ???????? |
|
|||||
Modus ponens
|
По ни для кого не понятной причине у AVM1Movie нету методов stop(), play(), gotoAndStop(), gotoAndPlay() и остальных аттрибутов MovieClip существовавших в AS2. Чтобы эти методы вызвать прийдется общаться либо через ExternalInterface либо LocalConnection - по ситуации.
__________________
Hell is the possibility of sanity |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Где-то видел враппер, который превращает AVM1Movie в MovieClip.
|
|
|||||
Человек и Здание
|
http://code.google.com/p/as3-classes...eLoader.as?r=6
http://alaguvel.wordpress.com/2008/0...orcibleloader/
__________________
Регардсы. |
|
|||||
Modus ponens
|
Код по ссылке, конечно, хорошая вещь, но, перед использованием хорошо бы несколько вещей поправить все-таки. Например, функция, которая имеет возвращаемый тип uint не может вернуть NaN - ну и далее проверять ее типа isNaN() уже не имеет смысла.
__________________
Hell is the possibility of sanity |
Часовой пояс GMT +4, время: 12:44. |
|
« Предыдущая тема | Следующая тема » |
|
|