viell. kanns ja jemand gebrauchen
methoden:
start(interval:Number, loop:Number):Void
destroy():Void
events:
onTimer
onTimerComplete
Klasse:
|
ActionScript-Quelltext
|
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
|
class djpublic.utils.Timer {
private var _interval:Number;
private var _loop:Number;
private var _intervalID:Number;
private var _count:Number;
//
private var broadcastMessage:Function;
private var addListener:Function;
private var removeListener:Function;
//
public var onTimer:Function;
public var onTimerComplete:Function;
//
// KONSTRUKTOR
//
function Timer () {
}
//
// start (interval:Number, loop:Number):Void
//
public function start (interval:Number, loop:Number):Void {
clearInterval (this._intervalID);
var ref:Object = this;
this.removeListener (this);
AsBroadcaster.initialize (this);
this.addListener (this);
this._interval = interval;
this._loop = loop;
this._count = 0;
this._intervalID = setInterval (function ():Void {
ref.broadcastMessage ("onTimer");
if (ref._loop != null) {
ref._count++;
}
updateAfterEvent ();
if (ref._loop != null) {
if (ref._count >= ref._loop) {
ref.destroy ();
}
}
}, this._interval);
}
//
// destroy()
//
public function destroy ():Void {
this.broadcastMessage ("onTimerComplete");
this.removeListener (this);
clearInterval (this._intervalID);
}
}
|
simple example
|
ActionScript-Quelltext
|
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
|
// Timer Package importieren
import djpublic.utils.Timer;
// Timer Object erstellen
var timer:Timer = new Timer ();
// counter
var counter:Number = 0;
// onTimer Event setzen
timer.onTimer = function ():Void {
counter++;
trace (counter);
};
// onTimerComplete Event setzen
timer.onTimerComplete = function ():Void {
trace ("end");
};
// Timer starten
// start(interval:Number, loops:Number);
timer.start (500, 10);
// timer stoppen und counter auf 0 setzen
onMouseDown = function ():Void {
timer.destroy ();
counter = 0;
};
// timer starten
onMouseUp = function ():Void {
timer.start (500, 10);
};
|
oder als timeOut verwenden...einfach den loop parameter auf 0 setzen
|
ActionScript-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
// Timer Package importieren
import djpublic.utils.Timer;
// Timer Object erstellen
var timer:Timer = new Timer ();
// onTimer Event setzen
timer.onTimer = function ():Void {
trace ("hallo mit verzögerung");
};
// onTimerComplete Event setzen
timer.onTimerComplete = function ():Void {
trace ("end");
};
// Timer starten
// start(interval:Number, loops:Number);
timer.start (5000, 0);
|
oder n endloss loop zum selber löschen ...einfach loop auf null setzen
|
ActionScript-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
// Timer Package importieren
import djpublic.utils.Timer;
// Timer Object erstellen
var timer:Timer = new Timer ();
// onTimer Event setzen
timer.onTimer = function ():Void {
trace ("hallo");
};
// onTimerComplete Event setzen
timer.onTimerComplete = function ():Void {
trace ("end");
};
// Timer starten
// start(interval:Number, loops:Number);
timer.start (100, null);
onMouseDown = function ():Void {
timer.destroy ();
};
|