ActionScript 3.0 Design Patterns

(Chris Devlin) #1

380 | Chapter 10: State Pattern


22 private var flv_txt:TextField;
23 private var dummy:Object;
24
25 public function TestPause ( )
26 {
27 nc.connect (null);
28 ns=new NetStream(nc);
29 addChild (vid);
30 vid.x=stage.stageWidth / 2 - vid.width / 2;
31 vid.y=stage.stageHeight / 2 - vid.height / 2;
32
33 //Instantiate State Machine
34 vidTest=new VideoWorks ;
35
36 //Play, Stop and Pause Buttons
37 playBtn=new NetBtn("Play");
38 addChild (playBtn);
39 playBtn.x=stage.stageWidth / 2 - 100 + playBtn.width / 2;
40 playBtn.y=350;
41 stopBtn=new NetBtn("Stop");
42 addChild (stopBtn);
43 stopBtn.x=stage.stageWidth / 2 - stopBtn.width / 2;
44 stopBtn.y=350;
45 var pauseBtn:NetBtn=new NetBtn("Pause");
46 addChild (pauseBtn);
47 pauseBtn.x=(stage.stageWidth / 2 + 100) - pauseBtn.width;
48 pauseBtn.y=350;
49
50 //Add Event Listeners
51 playBtn.addEventListener (MouseEvent.CLICK,doPlay);
52 stopBtn.addEventListener (MouseEvent.CLICK,doStop);
53 pauseBtn.addEventListener (MouseEvent.CLICK,pauseNow);
54
55 //Add the text field
56 flv_txt=new TextField ;
57 flv_txt.border=true;
58 flv_txt.borderColor=0x9e0039;
59 flv_txt.background=true;
60 flv_txt.backgroundColor=0xfab383;
61 flv_txt.type=TextFieldType.INPUT;
62 flv_txt.x=stage.stageWidth / 2 - 45;
63 flv_txt.y=10;
64 flv_txt.width=90;
65 flv_txt.height=16;
66 addChild (flv_txt);
67
68 //This prevents a MetaData error being thrown
69 dummy=new Object ;
70 ns.client=dummy;
71 dummy.onMetaData=getMeta;
72
73 //NetStream
74 ns.addEventListener (NetStatusEvent.NET_STATUS,flvCheck);

Example 10-19. TestPause.as (continued)

Free download pdf