Hallo mensen,
Ik zit met een probleem en dit moet met spoed verholpen zijn.
Ik wil graag een stuk in mijn flash verwijderen. Echter negeert hij het.
onderaan zie je meer uitleg met de debug die al gedaan was, maar niet meegepost was.
Het scriptje:
Hij roept runWait aan, waardoor het loop filmpje begint te lopen.
Als het filmpje naar het einde komt, dan wordt het opnieuw ingeladen.
Wanneer je op een knop drukt, wordt btn_pressed (die altijd false was) true.
Bij true moet hij het filmpje afkappen en zet hij het weer op false.
De knoppen reageren en gooien een nieuwe film in.
Echter het keuze filmpje verdwijnt niet en blijft op de achtergrond loopen.
Ik weet niet wat er mis is. Jullie misschien.
De trace:
Zoals je ziet zegt hij nog steeds still looping na verwijderen. Hij draait ook door.
Ik zit met een probleem en dit moet met spoed verholpen zijn.
Ik wil graag een stuk in mijn flash verwijderen. Echter negeert hij het.
onderaan zie je meer uitleg met de debug die al gedaan was, maar niet meegepost was.
Het scriptje:
code:
Het bestand simpleFlvWait:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| public function runWait () : void{ Denken.visible = true; var v:simpleFlvWait = new simpleFlvWait(); v.playMyFlv('include/wait.flv', true, whichsound); v.addEventListener("LOOKFORLOOP", LoppyLot); Denken.addChild(v); } private function LoppyLot(e :Event) : void { trace ( "Bij controle: De button is ingedrukt: " + btn_pressed ); if ( btn_pressed == true ) { trace ( "De button is ingedrukt: " + btn_pressed + " en gevonden" ); Denken.removeChild(e.target as simpleFlvWait); trace ( "RemoveChild hier." ); trace ( "De button was: " + btn_pressed ); btn_pressed = false; trace ( "De button is nu: " + btn_pressed ); } |
code:
Hij laad het scriptje goed.1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
| package nl.avans.cmd.game { import flash.display.Sprite; import flash.net.NetConnection; import flash.net.NetStream; import flash.media.Video; import flash.text.TextFieldAutoSize; import flash.text.TextField; import flash.events.Event; import flash.events.TimerEvent; import flash.events.NetStatusEvent; import flash.utils.Timer; public class simpleFlvWait extends Sprite{ private var _video:Video; private var _stream:NetStream; private var _playbackTime:TextField; private var _duration:uint; private var _timer:Timer; private var _loop:Boolean = false; private var _file:String; private var _soundnumber: uint; public function simpleFlvWait(){ _duration = 0; _playbackTime = new TextField(); _playbackTime.autoSize = TextFieldAutoSize.LEFT; _playbackTime.y = 20; _playbackTime.x = 20; _playbackTime.text = "Buffering …"; _timer = new Timer(1000); _timer.addEventListener(TimerEvent.TIMER, onTimer); _timer.start(); } public function playMyFlv(flvUrl:String, loop:Boolean, soundint: uint = 0) : void { _video = new Video(); if (soundint > 0 ) { _soundnumber = soundint; } _loop = loop; _file = flvUrl; var connection:NetConnection = new NetConnection(); connection.connect(null); _stream = new NetStream(connection); _stream.play(flvUrl); var Client:Object = new Object(); Client.onMetaData = onMetaData; _stream.client = Client; _video.attachNetStream(_stream); _stream.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus); addChild(_video); addChild(_playbackTime); } private function onMetaData(data:Object) : void { _duration = data.duration; } private function onNetStatus(e:NetStatusEvent) : void{ //_video.width = _video.videoWidth; //_video.height = _video.videoHeight; _video.width = 720; _video.height = 576; var info: Object = e.info; if ( _loop == true ) { trace (' Still looping: ' + _soundnumber ); dispatchEvent(new Event("LOOKFORLOOP")); } if(info.code == "NetStream.Play.Stop"){ //next movie if ( _loop == false ) { // no loop trace("End movie: " + _file); dispatchEvent(new Event("NEXTMOVIE")); } else { trace ('loop the movie: ' + _soundnumber); removeChild(_video); removeChild(_playbackTime); playMyFlv(_file, true); } } if(info.code == "NetStream.Play.Start"){ trace("START: " + _file); } // for(var i: * in info){ // trace(i); // trace(info[i]); // } } private function onTimer(t:TimerEvent) :void{ if( _duration > 0 && _stream.time > 0 ){ _playbackTime.text = Math.round(_stream.time) + " / " + Math.round(_duration); } } public function destroy () : void { parent.removeChild(this); } } } |
Hij roept runWait aan, waardoor het loop filmpje begint te lopen.
Als het filmpje naar het einde komt, dan wordt het opnieuw ingeladen.
Wanneer je op een knop drukt, wordt btn_pressed (die altijd false was) true.
Bij true moet hij het filmpje afkappen en zet hij het weer op false.
De knoppen reageren en gooien een nieuwe film in.
Echter het keuze filmpje verdwijnt niet en blijft op de achtergrond loopen.
Ik weet niet wat er mis is. Jullie misschien.
De trace:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| START: include/wait.flv Still looping: 0 Bij controle: De button is ingedrukt: false De button is ingedrukt: true START: include/1-goed.flv Still looping: 0 Bij controle: De button is ingedrukt: true De button is ingedrukt: true en gevonden RemoveChild hier. De button was: true De button is nu: false Still looping: 0 Bij controle: De button is ingedrukt: false |
Zoals je ziet zegt hij nog steeds still looping na verwijderen. Hij draait ook door.