別クラス イベント addEventListener dispatchEvent

Aクラスで自作イベントが発生したとき、
Bクラスの関数を呼びたい。
そんな時の処理。

Main.as

package
{
    import flash.display.Bitmap;
    import flash.events.Event;
    import flash.display.Shape;
    import flash.display.Sprite;
    import flash.text.TextFieldType;
    import flash.events.MouseEvent;
    [SWF(width = "465", height = "465", backgroundColor = "0x000000", frameRate = "30")]
    
    public class Main extends Sprite
	{
		///class
		//private var ai:AI;
		//private var voice:Voice;
		//private var canvas:Canvas;
		
		private var temp:Temp;
		
        public function Main()
        {
            init();
        }
        
        private function init():void
        {
			//ai = new AI();
			//voice = new Voice();
			//canvas = new Canvas();
			//addChild(canvas);
			
			addEventListener(Event.ENTER_FRAME, onEnterFrame);
			addEventListener('twit', onEvent);
			
			temp = new Temp();
			temp.addEventListener('twit', temp.onTwit);
        }
		
		public function onEvent(e:Event):void
		{
			trace('eventが聞こえました');
		}
		
        private function onEnterFrame(e:Event):void
        {
			dispatchEvent(new Event('twit'));
        }
    }
}

Temp.as

package  
{
	import flash.display.MovieClip;
	import flash.events.Event;
	public class Temp extends MovieClip
	{
		public function Temp() 
		{
			addEventListener('twit', onTwit);
		}
		
		public function onTwit(e:Event):void
		{
			trace('きこえますTEMP');
		}
	}
}

実行結果

eventが聞こえました
eventが聞こえました
eventが聞こえました
eventが聞こえました
eventが聞こえました
eventが聞こえました
eventが聞こえました
...

解決策

上記のコードではTempクラス側の関数が呼ばれていない。
どうすればよいのかというと、
temp.addEventListener('twit', temp.onTwit);
を
addEventListener('twit', temp.onTwit);
とすればいい。

AS3のイベントの渡し方は
★★★『AS3.0「関数渡しておくからなんかあったら実行して」』★★★
なのですね!
@MineAP さんに助けられて解決できました!Thanks!