Показать сообщение отдельно
Старый 18.11.2015, 21:22
WaldeMar1321 вне форума Посмотреть профиль Отправить личное сообщение для WaldeMar1321 Найти все сообщения от WaldeMar1321
  № 1  
Ответить с цитированием
WaldeMar1321

Регистрация: Mar 2015
Сообщений: 26
По умолчанию Пользовательские слушатели событий.

Здравствуйте, есть такой код в инициализации класса "героя":
Код AS3:
this.addEventListener(Event.ADDED_TO_STAGE, Added);
this.addEventListener(cEvents.INDEX_CHANGE, changed);
if (this.hasEventListener(cEvents.INDEX_CHANGE)) trace("have it");//проверка
//.....
private function changed(e:cEvents):void
{
	this.StageIndex = stage.getChildIndex(this);
	trace(this.StageIndex, "changed");//опять проверка (не работает. эта функция не вызывается)=(
}
В файле cEvents.as:
Код AS3:
package utils 
{
	import flash.events.EventDispatcher;
	import flash.events.Event;
	public class cEvents extends Event
	{
		public static var INDEX_CHANGE:String = "INDEX_CHANGE";
 
		public function cEvents(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
		{
			trace(type);//проверка на досягаемость этого места
			super(type, bubbles, cancelable) ;
 
		}
	}
}
В момент вызова:
Код AS3:
public function swap(e:MouseEvent):void
{
	stage.swapChildrenAt(2, 3);//пока только два
	dispatchEvent(new cEvents(cEvents.INDEX_CHANGE));
}
trace(type) из cEvents работает как надо при нажатии. Внутри же класса, который вызывает события, ничего не происходит. Может кто-то сталкивался?
Спасибо!