Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 05.01.2010, 18:24
nickorsk вне форума Посмотреть профиль Отправить личное сообщение для nickorsk Найти все сообщения от nickorsk
  № 1  
Ответить с цитированием
nickorsk

Регистрация: Oct 2008
Сообщений: 52
По умолчанию Как описать несколько событий в классе??

Есть класс, который описывает пользовательские события:
Код AS3:
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");} 
 
 
}
}
Суть такая, создается множество графических объектов в fla файле, нужно обращаться к этим объектам. Чтобы обращаться к ним, нужно быть уверенным, что до момента обращения они были созданы(т.е. существуют). Для этого я создал пользовательское событие ObjectGameEvent.CREATED
Затем читаю событие в основном классе:
Код AS3:
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");
}
 
 
}
}
В принципе все работает за исключением одного, нужно проверить что созданы все объекты до их взаимодействия. Нужно описать событие ObjectGameEvent.ALLCREATED. Вопрос в том как описывать несколько событий в классе ObjectGameEvent??

Создать новую тему   Часовой пояс GMT +4, время: 21:32.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
событие
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 21:32.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.