Пока окончательно события понять не могу. Как я понял, они диспачатся и передаются вверх. Я создаю класс Region и в нем диспатчу событие. Во CS3 создаю различные фигурки и делаю им расширение классом Region. Мне нужно, чтобы в основном классе вызвалось продиспатченное событие в классе Region.

Код AS3:
package
{
import flash.display.*;
import flash.events.*;
import fl.motion.Color;
public class Region extends MovieClip
{
public static const CLICK_REG1:String = "clickreg1";
public function Region():void
{
this.addEventListener(MouseEvent.CLICK, onClick)
}
private function onClick(e:MouseEvent):void
{
e.target.alpha = 0.5;
dispatchEvent(new Event(Region.CLICK_REG1))
}
}
}
package
{
import flash.display.*;
import flash.events.*;
import fl.motion.Color;
public class Shar extends Region
{
public function Shar():void
{
}
}
}
package
{
/**
* ...
* @author Stas
*/
public class Main extends Sprite
{
public function Main():void
{
Всякий код...
Потом, чтобы вызвать событие, продиспатченное в Region, создаю экземпляр его класса
var reg:Region = new Region();
reg.addEventListener(Region.CLICK_REG1, onClick);
Но событие не срабатывает.
}
private function onClick(e:Event):void
{
trace("SOS")
}
}
}
Объясните пожалуйста, почему событие не срабатывает?