Zit al een tijdje vast in dit probleem, hoop dat iemand een oplossing heeft:
Probleem is dat zodra ik van button 1 naar bijvoorbeeld button 2 ga worden de functies voor een 2e keer aangeroepen. Op een of andere manier stoppen ze niet bij "mc_top1.onRollOut", waardoor hij nu dubbel loopt.
Hoe kan ik nu zorgen dat de functies niet vaker dan 1 uitgelezen worden?
code:
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
| //URLs naar de cases.
var linkTop1;
var linkTop2;
var linkTop3;
var linkTop4;
var linkTop5;
//Welke klant geselecteerd is, 0=niemand.
var selItem = 0;
var funcSwitchBusy = false;
var funcFaderBusy = false;
//Onthoudt laatst getoonde screenshot per klant.
var allTeller;
var teller1;
var teller2;
var teller3;
var teller4;
var teller5;
//Bevat straks de afbeeldingen per klant.
var arrAllScreens = new Array();
var arrScreens1 = new Array();
var arrScreens2 = new Array();
var arrScreens3 = new Array();
var arrScreens4 = new Array();
var arrScreens5 = new Array();
//Set fontstyle.
format = new TextFormat();
format.font = arial;
format.size = 14;
format.bold = true;
format.color= 0xffffff;
formatOv = new TextFormat();
formatOv.font = arial;
formatOv.size = 14;
formatOv.bold = true;
formatOv.color = 0x808080;
//Maak containers aan.
createEmptyMovieClip("container1", 100);
createEmptyMovieClip("container2", 101);
container2._alpha = 0;
//Laad de top5 XML in FLash en zet waarden in de arrays.
//--- code weggehaald om post overzichtelijk te houden
//Rollover commands voor items.
mc_top1.onRollOver = function(){
mc_top1.mc_Selected._alpha = 100;
mc_top2.mc_Selected._alpha = 0;
mc_top3.mc_Selected._alpha = 0;
mc_top4.mc_Selected._alpha = 0;
mc_top5.mc_Selected._alpha = 0;
mc_top1.txtKlantnaam.setTextFormat(formatOv);
mc_top2.txtKlantnaam.setTextFormat(format);
mc_top3.txtKlantnaam.setTextFormat(format);
mc_top4.txtKlantnaam.setTextFormat(format);
mc_top5.txtKlantnaam.setTextFormat(format);
selItem = 1;
loadFirstScreen();
}
mc_top2.onRollOver = function(){
mc_top1.mc_Selected._alpha = 0;
mc_top2.mc_Selected._alpha = 100;
mc_top3.mc_Selected._alpha = 0;
mc_top4.mc_Selected._alpha = 0;
mc_top5.mc_Selected._alpha = 0;
mc_top1.txtKlantnaam.setTextFormat(format);
mc_top2.txtKlantnaam.setTextFormat(formatOv);
mc_top3.txtKlantnaam.setTextFormat(format);
mc_top4.txtKlantnaam.setTextFormat(format);
mc_top5.txtKlantnaam.setTextFormat(format);
selItem = 2;
loadFirstScreen();
}
mc_top1.onRollOut = function(){
mc_top1.mc_Selected._alpha = 0;
mc_top1.txtKlantnaam.setTextFormat(format);
selItem = 0;
mc_holder.startSlideShow();
}
mc_top2.onRollOut = function(){
mc_top2.mc_Selected._alpha = 0;
mc_top2.txtKlantnaam.setTextFormat(format);
selItem = 0;
mc_holder.startSlideShow();
}
////////////////////////////////////////////////////////////////////////////////////////////
// Code om afbeeldingen per klant te laten rouleren
////////////////////////////////////////////////////////////////////////////////////////////
var i;
var arrLength;
var activeArray;
var arrayTeller;
var selectie;
function loadFirstScreen(){
if(selItem == 1){
activeArray = arrScreens1;
}else if(selItem == 2){
activeArray = arrScreens2;
}else if(selItem == 3){
activeArray = arrScreens3;
}else if(selItem == 4){
activeArray = arrScreens4;
}else if(selItem == 5){
activeArray = arrScreens5;
}else{
activeArray = arrAllScreens;
}
i = 0;
arrLength = activeArray.length;
container1._alpha = 100;
container2._alpha = 0;
clipLoader1.loadClip(activeArray[i], container1);
clipLoader1.onLoadInit = function(){
container1._x = 17;
container1._y = 36;
container1._height = 91;
container1._width =134;
}
i++;
clipLoader2.loadClip(activeArray[i], container2);
clipLoader2.onLoadInit = function(){
container2._x = 17;
container2._y = 36;
container2._height = 91;
container2._width =134;
}
container2._alpha = 0;
setTimeout(_root, "startFader", 2000);
}
function startFader(){
import mx.transitions.Tween;
import mx.transitions.easing.*;
MovieClip.prototype.fadeIn = function(){
new Tween(this, "_alpha", Regular.easeIn, 0, 100, 1.0, true);
}
MovieClip.prototype.fadeOut = function(){
new Tween(this, "_alpha", Regular.easeOut, 100, 0, 1.0, true);
}
if(container1._alpha == 100){
trace("fade 1 -> 2");
container1.fadeOut();
container2.fadeIn();
}else{
trace("fade 2 -> 1");
container1.fadeIn();
container2.fadeOut();
i = i+1;
}
setTimeout(_root,"switchScreen", 2000);
}
function switchScreen(){
if(i == arrLength){
i = 0;
}
if(container2._alpha == 100){
//Laad volgende screen in 1.
trace("con1 : "+activeArray[i]);
clipLoader1.loadClip(activeArray[i], container1);
}else{
//Laad volgende screen in 2.
trace("con2 : "+activeArray[i]);
clipLoader2.loadClip(activeArray[i], container2);
}
setTimeout(_root, "startFader", 2000);
} |
Probleem is dat zodra ik van button 1 naar bijvoorbeeld button 2 ga worden de functies voor een 2e keer aangeroepen. Op een of andere manier stoppen ze niet bij "mc_top1.onRollOut", waardoor hij nu dubbel loopt.
Hoe kan ik nu zorgen dat de functies niet vaker dan 1 uitgelezen worden?