Here is a tutorial that shows you how to create and use a custom event using the dispatchEvent() method.
Here is a class for a start screen '.fla' file:
01 | package { |
02 | |
03 | import flash.display.MovieClip; |
04 | import flash.events.Event; |
05 | import flash.events.MouseEvent; |
06 | |
07 | public class mcStartGameScreen extends MovieClip { |
08 | |
09 | //create vars |
10 | public var mcStart:MovieClip; |
11 | |
12 | public function mcStartGameScreen() { |
13 | // constructor code |
14 | mcStart.buttonMode = true; |
15 | mcStart.addEventListener(MouseEvent.CLICK, startClick); |
16 | } |
17 | |
18 | private function startClick(e:MouseEvent):void |
19 | { |
20 | dispatchEvent(new Event("START_GAME")); |
21 | } |
22 | |
23 | } |
24 | } |
Here is another class that loads the '.swf' file and listens/reacts to the custom event:
01 | |
02 | package { |
03 | |
04 | import flash.display.MovieClip; |
05 | import flash.events.Event; |
06 | import flash.events.KeyboardEvent; |
07 | import flash.display.Loader; |
08 | import flash.net.URLRequest; |
09 | |
10 | public class eaterMain extends MovieClip { |
11 | |
12 | //create vars |
13 | public var menuStart:mcStartGameScreen;//start game screen swf |
14 | |
15 | public function eaterMain() { |
16 | // constructor code |
17 | //set focus of keyboard output |
18 | stage.focus = stage; |
19 | //create a loader object |
20 | var startLoader:Loader = new Loader(); |
21 | //add event listener to listen for the complete event |
22 | startLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, startLoaded); |
23 | //load out loader object |
24 | startLoader.load(new URLRequest("startScreen.swf")); |
25 | } |
26 | |
27 | public function startTheGame(e:Event):void |
28 | { |
29 | trace("Game has started!"); |
30 | } |
31 | |
32 | private function startLoaded(e:Event):void |
33 | { |
34 | //get a reference to the loaded movieclip |
35 | menuStart = e.target.content as mcStartGameScreen; |
36 | //add loaded movieclip (start scree) to the stage |
37 | addChildAt(menuStart, 1); |
38 | //listen for start game event |
39 | menuStart.addEventListener("START_GAME", startTheGame); |
40 | } |
41 | |
42 | } |
43 | } |
44 | |