|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Oct 2008
Сообщений: 52
|
Как описать несколько событий в классе??
Есть класс, который описывает пользовательские события:
package com.rpg_online.private_events { import flash.events.*; public class ObjectGameEvent extends Event { public static const CREATED:String ="created"; public var isCreate:Boolean; public function ObjectGameEvent(type:String,bubbles:Boolean=false,cancelable:Boolean=false,isCreate:Boolean=false){ super(type,bubbles,cancelable); this.isCreate=isCreate;} public override function clone():Event{ return new ObjectGameEvent(type,bubbles,cancelable,isCreate);} public override function toString():String{ return formatToString("ObjectGameEvent","type","bubbles","cancelable","eventPhase","isCreate");} } } Затем читаю событие в основном классе: package com.rpg_online.mainclass { import flash.display.*; import flash.events.*; import flash.text.*; import flash.ui.*; import flash.system.*; import flash.net.*; import flash.utils.*; import com.rpg_online.controler.PlayerCreate; import com.rpg_online.controler.ObstacleCreate; import com.rpg_online.private_events.ObjectGameEvent; public class Main extends MovieClip { private var obstacle:ObstacleCreate=new ObstacleCreate(); private var player:PlayerCreate=new PlayerCreate(); private var isCreate:Boolean; private var numberCreated:int=0; public function Main(){ isCreate=false; addChildAt(player,0); addChildAt(obstacle,0); setChildIndex(player,0); setChildIndex(obstacle,1); addEventListener(ObjectGameEvent.CREATED,polyHittestedDelete); player.poly.addEventListener(ObjectGameEvent.CREATED,objectlistiner); obstacle.addEventListener(ObjectGameEvent.CREATED,objectlistiner); } private function objectlistiner(e:ObjectGameEvent):void{ trace("succifull created"); numberCreated++; if(numberCreated==2){ isCreate=true; dispatchEvent(new ObjectGameEvent(ObjectGameEvent.CREATED,true,false,isCreate)); trace("succifull all created"); } } private function polyHittestedDelete(e:ObjectGameEvent){ trace("delete this"); } } } |
|
|||||
Регистрация: May 2006
Сообщений: 125
|
добавь в ObjectGameEvent
и создавай событие как-нибудь так посчитав в мейне все ли созданы или еще нет. единственное что - "создается множество графических объектов в fla файле". это несколько странный подход к онлайну Последний раз редактировалось ladon; 05.01.2010 в 19:29. |
|
|||||
Регистрация: Oct 2008
Сообщений: 52
|
Сам разобрался -просто создать новую константу, а затем описать действие для события если нужно с помощью if(type==CREATEDALL){...} в конструкторе класса где описаны пользовательские события.
|
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Классы событий логики содержать в принципе не должны.
|
|
|||||
Регистрация: Oct 2008
Сообщений: 52
|
>ect
Не знаю в книге вроде были какие действия для события в классе где он описан. Хотя действия можно описать в функции Листенера. |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
В таком случае книгу можете выбросить.
|
Часовой пояс GMT +4, время: 11:00. |
|
« Предыдущая тема | Следующая тема » |
Теги |
событие |
|
|