|
|
|||||
Регистрация: Oct 2011
Сообщений: 18
|
Двойной extends
Собственно как два раза расширить класс? EventDispatcher+Sprite
package{ import flash.display.Sprite; import flash.display.Loader; import flash.events.Event; import flash.events.ProgressEvent; import flash.events.EventDispatcher; import flash.net.URLRequest; //public class FLoader extends Sprite{ public class FLoader extends EventDispatcher{ private var Percent:Number=0; public function FLoader(FName:String):void{ var loader = new Loader(); loader.load(new URLRequest(FName)); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleate); } public function get GetPercent():Number{ return Percent; } private function onCompleate(e:Event){ dispatchEvent(new Event("LoadCompleate")); } private function onProgress(e:ProgressEvent){ Percent=int(e.bytesLoaded/e.bytesTotal)*100; } } } Надеюсь уловили что я хочу. Cоздать класс который упростит метод загрузки изображений, и сгенирирует событие готовности обработав которое можно будет разместить изображение в нужных координатах, добавить на сцену, и т.д. Последний раз редактировалось Lunatic; 24.11.2011 в 06:35. |
|
|||||
То, что вы хотите, называется множественное наследование. Оно запрещено в AS3. Однако без него можно сделать. Взгляните в документацию, спрайт уже ивент диспатчер. Вы можете просто наследовать спрайт, и диспатчить событие, всё будет работать.
__________________
:) |
|
|||||
Регистрация: Oct 2011
Сообщений: 18
|
Спасибо! Буду знать!
Запрещенно или нереализуемо? |
|
|||||
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
нереализуемо = запрещено, в данном случае.
Вообще, на такие случаи в АС3 существуют интерфейсы. Их можно имплементить сколько угодно, через запятую |
|
|||||
Цитата:
__________________
Дебаггер не предлагать |
|
|||||
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
А зачем это тут? В конкретно этом случае достаточно расширить спрайт
|
|
|||||
А зачем повторять? Положили внутри себя диспатчер, сделали композицию т.е. Заимплементили все методы интерфейса IEventDispatcher и в них тупо всё перенаправили на этот диспатчер, и всё, мы полноценный диспатчер.
__________________
:) |
|
|||||
Это уже чуточку сложнее, аж при создании экземпляра в параметре указать ему что будет таргетом, а вот правильное всплытие это уже вообще отдельная тема. Правда я пока не встречался с такой ситуацией.
__________________
:) Последний раз редактировалось Aquahawk; 24.11.2011 в 08:24. |
|
|||||
В данном случае, если я уловил мысль, нужно всего лишь воспользоваться классом Loader. Он загрузит в себя картинку, скажет что загрузился (contentLoaderInfo - Event.COMPLETE), и можно до полной загрузки указать место, где ему быть.
|
Часовой пояс GMT +4, время: 02:26. |
|
« Предыдущая тема | Следующая тема » |
|
|