Rev 73 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed
| Rev 73 | Rev 641 | ||
|---|---|---|---|
| 1 | import mx.transitions.Tween; |
1 | import mx.transitions.Tween; |
| 2 | 2 | ||
| 3 | class MenuItemObj { |
3 | class MenuItemObj { |
| 4 | 4 | ||
| 5 | private var menuItem:MovieClip; |
5 | private var menuItem:MovieClip; |
| 6 | private var menuText:TextField; |
6 | private var menuText:TextField; |
| 7 | private var menuFont:TextFormat; |
7 | private var menuFont:TextFormat; |
| 8 | 8 | ||
| 9 | //ska sättas så fort objektet kopplas till ett index i data |
9 | //ska sättas så fort objektet kopplas till ett index i data |
| 10 | private var inUse:Boolean = false; |
10 | private var inUse:Boolean = false; |
| 11 | private var free:Boolean = false; |
11 | private var free:Boolean = false; |
| 12 | //håller en koppling till det index i data vars text nu finns i objektet |
12 | //håller en koppling till det index i data vars text nu finns i objektet |
| 13 | private var dataIndex:Number; |
13 | private var dataIndex:Number; |
| 14 | 14 | ||
| 15 | private var menuVisible:Boolean = false; |
15 | private var menuVisible:Boolean = false; |
| 16 | 16 | ||
| 17 | private var tweenArr:Array; |
17 | private var tweenArr:Array; |
| 18 | 18 | ||
| 19 | function MenuItemObj (mainScene:MovieClip, font:TextFormat, left:Number, width:Number, unitHeight:Number) { |
19 | function MenuItemObj (mainScene:MovieClip, font:TextFormat, left:Number, width:Number, unitHeight:Number) { |
| 20 | menuItem = mainScene.createEmptyMovieClip("menuItem", mainScene.getNextHighestDepth()); |
20 | menuItem = mainScene.createEmptyMovieClip("menuItem", mainScene.getNextHighestDepth()); |
| 21 | menuItem._x = left; |
21 | menuItem._x = left; |
| 22 | menuText = menuItem.createTextField("menuText", 1, 0, 0, 0, 10); |
22 | menuText = menuItem.createTextField("menuText", 1, 0, 0, 0, 10); |
| 23 | menuText.text = "-"; |
23 | menuText.text = "-"; |
| 24 | //font.font = "MenuText"; |
24 | //font.font = "MenuText"; |
| 25 | menuText.setTextFormat(font); |
25 | menuText.setTextFormat(font); |
| 26 | 26 | ||
| 27 | //size the textfield, strange way |
27 | //size the textfield, strange way |
| 28 | menuText.autoSize = "left"; |
28 | menuText.autoSize = "left"; |
| 29 | var fontSize = menuText._height; |
29 | var fontSize = menuText._height; |
| 30 | //var fontSize = menuText._height + 2; |
30 | //var fontSize = menuText._height + 2; |
| 31 | menuText.autoSize = "none"; |
31 | menuText.autoSize = "none"; |
| 32 | menuText._width = width*fontSize / unitHeight; |
32 | menuText._width = width*fontSize / unitHeight; |
| 33 | menuItem._width = width; |
33 | menuItem._width = width; |
| 34 | //dessa bredder är nu beroende av menuItem._height / menuText._height (unitsize), för att få det bra |
34 | //dessa bredder är nu beroende av menuItem._height / menuText._height (unitsize), för att få det bra |
| 35 | 35 | ||
| 36 | menuText.selectable = false; |
36 | menuText.selectable = false; |
| 37 | menuText.type = "dynamic"; |
37 | menuText.type = "dynamic"; |
| 38 | //menuText.textColor = 0xFF0000; |
38 | //menuText.textColor = 0xFF0000; |
| 39 | menuText._height = fontSize; |
39 | menuText._height = fontSize; |
| 40 | menuText.embedFonts = true; |
40 | menuText.embedFonts = true; |
| 41 | menuItem._visible = false; |
41 | menuItem._visible = false; |
| 42 | menuItem._height=0; |
42 | menuItem._height=0; |
| 43 | 43 | ||
| 44 | menuFont = font; |
44 | menuFont = font; |
| 45 | 45 | ||
| 46 | tweenArr = new Array(); |
46 | tweenArr = new Array(); |
| 47 | } //end constructor |
47 | } //end constructor |
| 48 | 48 | ||
| 49 | public function setText(text:String) { |
49 | public function setText(text:String) { |
| 50 | menuText.text = text; |
50 | menuText.text = text; |
| 51 | menuText.setTextFormat(menuFont); |
51 | menuText.setTextFormat(menuFont); |
| 52 | } |
52 | } |
| 53 | 53 | ||
| 54 | public function isInUse():Boolean { |
54 | public function isInUse():Boolean { |
| 55 | return inUse; |
55 | return inUse; |
| 56 | } |
56 | } |
| 57 | 57 | ||
| 58 | public function isvisible():Boolean { |
58 | public function isvisible():Boolean { |
| 59 | return menuItem._visible; |
59 | return menuItem._visible; |
| 60 | } |
60 | } |
| 61 | 61 | ||
| 62 | public function notInUse() { |
62 | public function notInUse() { |
| 63 | inUse = false; |
63 | inUse = false; |
| 64 | } |
64 | } |
| 65 | 65 | ||
| 66 | public function isFree():Boolean { |
66 | public function isFree():Boolean { |
| 67 | return free; |
67 | return free; |
| 68 | } |
68 | } |
| 69 | 69 | ||
| 70 | public function setFree(freeVar:Boolean) { |
70 | public function setFree(freeVar:Boolean) { |
| 71 | free = freeVar; |
71 | free = freeVar; |
| 72 | } |
72 | } |
| 73 | 73 | ||
| 74 | public function setDataIndex(index:Number) { |
74 | public function setDataIndex(index:Number) { |
| 75 | dataIndex = index; |
75 | dataIndex = index; |
| 76 | inUse = true; |
76 | inUse = true; |
| 77 | } |
77 | } |
| 78 | 78 | ||
| 79 | public function fforward() { |
79 | public function fforward() { |
| 80 | var tweenObj:Object; |
80 | var tweenObj:Object; |
| 81 | for (; tweenArr.length > 0; tweenObj = tweenArr.pop()) { |
81 | for (; tweenArr.length > 0; tweenObj = tweenArr.pop()) { |
| 82 | //var testobj:Tween = tweenObj; |
82 | //var testobj:Tween = tweenObj; |
| 83 | if (tweenObj.time != undefined && tweenObj.time != tweenObj.duration) { |
83 | if (tweenObj.time != undefined && tweenObj.time != tweenObj.duration) { |
| 84 | tweenObj.fforward(); |
84 | tweenObj.fforward(); |
| 85 | } |
85 | } |
| 86 | //tweenObj.stop(); |
86 | //tweenObj.stop(); |
| 87 | } |
87 | } |
| 88 | } |
88 | } |
| 89 | 89 | ||
| 90 | //scroll använder movieclippets nuvarande parametrar för höjd och y-position |
90 | //scroll använder movieclippets nuvarande parametrar för höjd och y-position |
| 91 | public function scroll(newTop:Number, newHeight:Number, timeToScroll:Number):Tween { |
91 | public function scroll(newTop:Number, newHeight:Number, timeToScroll:Number):Tween { |
| 92 | menuItem._visible = (menuVisible && inUse); |
92 | menuItem._visible = (menuVisible && inUse); |
| 93 | //menuItem._alpha = 100; |
93 | //menuItem._alpha = 100; |
| 94 | //trace(menuText.text + " " + menuVisible); |
94 | //trace(menuText.text + " " + menuVisible); |
| 95 | var tweenObj:Tween; |
95 | var tweenObj:Tween; |
| 96 | if (newHeight != menuItem._height) { |
96 | if (newHeight != menuItem._height) { |
| 97 | tweenObj = new Tween(menuItem, "_height", null, menuItem._height, newHeight, timeToScroll, true); |
97 | tweenObj = new Tween(menuItem, "_height", null, menuItem._height, newHeight, timeToScroll, true); |
| 98 | tweenArr.push(tweenObj); |
98 | tweenArr.push(tweenObj); |
| 99 | /*if (newHeight == 0) { |
99 | /*if (newHeight == 0) { |
| 100 | trace(menuItem._visible); |
100 | trace(menuItem._visible); |
| 101 | }*/ |
101 | }*/ |
| 102 | } |
102 | } |
| 103 | if (newTop != menuItem._y) { |
103 | if (newTop != menuItem._y) { |
| 104 | tweenObj = new Tween(menuItem, "_y", null, menuItem._y, newTop, timeToScroll, true); |
104 | tweenObj = new Tween(menuItem, "_y", null, menuItem._y, newTop, timeToScroll, true); |
| 105 | tweenArr.push(tweenObj); |
105 | tweenArr.push(tweenObj); |
| 106 | } |
106 | } |
| 107 | return tweenObj; |
107 | return tweenObj; |
| 108 | } |
108 | } |
| 109 | 109 | ||
| 110 | public function fade(from:Number, to:Number, timeToFade:Number):Tween { |
110 | public function fade(from:Number, to:Number, timeToFade:Number):Tween { |
| 111 | var tweenObj:Tween; |
111 | var tweenObj:Tween; |
| 112 | if (from != to) { |
112 | if (from != to) { |
| 113 | tweenObj = new Tween(menuItem, "_alpha", null, from, to, timeToFade, true); |
113 | tweenObj = new Tween(menuItem, "_alpha", null, from, to, timeToFade, true); |
| 114 | tweenArr.push(tweenObj); |
114 | tweenArr.push(tweenObj); |
| 115 | } |
115 | } |
| 116 | return tweenObj; |
116 | return tweenObj; |
| 117 | 117 | ||
| 118 | } |
118 | } |
| 119 | 119 | ||
| 120 | public function visible(isVisible:Boolean) { |
120 | public function visible(isVisible:Boolean) { |
| 121 | menuVisible = isVisible; |
121 | menuVisible = isVisible; |
| 122 | menuItem._visible = (menuVisible && inUse); |
122 | menuItem._visible = (menuVisible && inUse); |
| 123 | } |
123 | } |
| 124 | 124 | ||
| 125 | public function getText():String { |
125 | public function getText():String { |
| 126 | return menuText.text; |
126 | return menuText.text; |
| 127 | } |
127 | } |
| 128 | 128 | ||
| 129 | public function getTop():Number { |
129 | public function getTop():Number { |
| 130 | return menuItem._y; |
130 | return menuItem._y; |
| 131 | } |
131 | } |
| 132 | 132 | ||
| 133 | public function setAlpha(value:Number) { |
133 | public function setAlpha(value:Number) { |
| 134 | if (value <= 100 && value >= 0) { |
134 | if (value <= 100 && value >= 0) { |
| 135 | menuItem._alpha = value; |
135 | menuItem._alpha = value; |
| 136 | } |
136 | } |
| 137 | } |
137 | } |
| 138 | 138 | ||
| 139 | public function getHeight():Number { |
139 | public function getHeight():Number { |
| 140 | //trace("synlig: " + menuItem._visible + " höjd: " + menuItem._height + " bredd: " + menuItem._width + " y: " +menuItem._y + " bredd: " + menuText._width + " höjd: " + menuText._height); |
140 | //trace("synlig: " + menuItem._visible + " höjd: " + menuItem._height + " bredd: " + menuItem._width + " y: " +menuItem._y + " bredd: " + menuText._width + " höjd: " + menuText._height); |
| 141 | return menuItem._height; |
141 | return menuItem._height; |
| 142 | } |
142 | } |
| 143 | public function setTop(top:Number) { |
143 | public function setTop(top:Number) { |
| 144 | //animera senare? |
144 | //animera senare? |
| 145 | menuItem._visible = (menuVisible && inUse); |
145 | menuItem._visible = (menuVisible && inUse); |
| 146 | menuItem._y = top; |
146 | menuItem._y = top; |
| 147 | } |
147 | } |
| 148 | public function setHeight(height:Number) { |
148 | public function setHeight(height:Number) { |
| 149 | //animera senare? |
149 | //animera senare? |
| 150 | menuItem._visible = (menuVisible && inUse); |
150 | menuItem._visible = (menuVisible && inUse); |
| 151 | menuItem._height = height; |
151 | menuItem._height = height; |
| 152 | } |
152 | } |
| 153 | 153 | ||
| 154 | } |
154 | } |