source: audio-player/trunk/source/classes/Ticker.as @ 348

Revision 50, 1.5 KB checked in by doryphores, 15 years ago (diff)

Maintenance

Line 
1class Ticker
2{
3        private var _textField:TextField;
4        private var _clearID:Number;
5        private var _direction:String;
6        private var _options:Object;
7       
8        function Ticker(textField:TextField, options:Object)
9        {
10                _direction = "fw";
11                _textField = textField;
12                _clearID = null;
13               
14                _options = { pause:6000, interval:25, increment:1 };
15                if(typeof options == "Object") this.setOptions(options);
16        }
17       
18        public function setOptions(options:Object):Void
19        {
20                for(var key:String in options) _options[key] = options[key];
21        }
22       
23        public function start():Void
24        {
25                _clearID = setInterval(this, "_start", _options.pause);
26        }
27       
28        public function reset():Void
29        {
30                clearInterval(_clearID);
31                _textField.hscroll = 0;
32                start();
33        }
34
35        private function _start():Void
36        {
37                if(_textField.maxhscroll == 0) return;
38                clearInterval(_clearID);
39                _clearID = setInterval(this, "_scroll", _options.interval);
40        }
41       
42        private function _scroll():Void
43        {
44                if(_direction == "fw" && _textField.hscroll == _textField.maxhscroll)
45                {
46                        _direction = "bw";
47                        clearInterval(_clearID);
48                        _clearID = setInterval(this, "_start", _options.pause);
49                        return;
50                }
51                else if(_direction == "bw" && _textField.hscroll == 0)
52                {
53                        _direction = "fw";
54                        clearInterval(_clearID);
55                        _clearID = setInterval(this, "_start", _options.pause);
56                        return;
57                }
58               
59                if(_direction == "fw" ) _textField.hscroll += _options.increment;
60                else _textField.hscroll -= _options.increment;
61        }
62}
Note: See TracBrowser for help on using the repository browser.