PDA

Volledige versie bekijken : kleuren button probleem


Joshua_abdon_sly
%Europe/Berlin %445 %2008, 11:41
Beste,

Ik heb enkele buttons staan op een mc, deze zijn telkens gelinkt aan een framelabel.
Wat ik zou willen bereiken is, de knoppen zijn grijs, als ik erover ga, dan komen ze rood+ er komt tekst in een dynamisch veld. Als ik er dan op klik, dan ga je naar de specifieke frame+ is de knop wit.

Mijn code ziet er als volgt uit voor de eerste knop:

strategy.onRollOver = function() {
HomeText.text = "strategy";
strategy.gotoAndStop("red");
};
strategy.onRollOut = function() {
HomeText.text = "";
strategy.gotoAndStop("grey");
};

strategy.onRelease = function() {
gotoAndStop("strategy");
strategy.gotoAndStop("white");
};

Maar dan als ik dan in het menu strategy zit, werkt de onRollOut nog. deze zou dan moeten worden "white".

Nu wat ik had gedacht was bij de code onRollOut:
strategy.onRollOut = function() {
HomeText.text = "";
if (Frame=strategy) {
strategy.gotoAndStop("white");
} else {
strategy.gotoAndStop("grey");
}
};


MAAR dit werkt niet. Ziet iemand de fout?

grtz
Josh

digitalecartoons
%Europe/Berlin %463 %2008, 12:06
Is dit zoals je het bedoeld? De rollover/rollout switchen van grijs naar rood. Als je op de button klikt wordt hij wit en blijft wit ook al doe je een rollout. Bij een rollover loopt hij weer naar rood zoals het hoort en switched hij weer van grijs naar rood.

strategy.onRollOver = function() {
clicked = false;
strategy.gotoAndStop("red");
};
strategy.onRollOut = function() {
if (!clicked) {
strategy.gotoAndStop("grey");
}
};
strategy.onRelease = function() {
clicked = true;
strategy.gotoAndStop("white");
};

Joshua_abdon_sly
%Europe/Berlin %487 %2008, 12:42
Het is niet zoals de zipfile clicked. Ik heb eens vlug een voorbeeldje gemaakt hoe het ongeveer zou moeten gaan.

->Zie bijlage.

Cowerd
%Europe/Berlin %503 %2008, 13:05
if (Frame=strategy) {

1. Of Frame is een variabele van jou, of het bestaat niet. _currentframe is de correcte naam
2. Je moet 2 =-tekens hebben. Wat je nu doet is de variabele Frame, de waarde strategy geven. Sowieso zou het woord strategy tussen aanhalingstekens moeten.
3. Ik denk dat je if(_currentframe == strategy) { .. } wilt hebben, maar dan moet je daar boven ook zetten: var strategy:Number = <framenummer waar strategy begint>

Joshua_abdon_sly
%Europe/Berlin %278 %2008, 07:41
oké, nu heb ik deze code en het werkt bijna:
stop();
var strategy:Number;
strategy = 10;
knop.onRollOver = function() {
HomeText.text = "strategy";
knop.gotoAndStop("red");
};
knop.onRollOut = function() {
HomeText.text = "";
if (_currentframe == strategy) {
knop.gotoAndStop("white");
} else {
knop.gotoAndStop("grey")
}
};
knop.onRelease = function() {
gotoAndStop("page1");
};


Infeite werk ik met framelabels, dus in plaats van
var strategy:Number;
strategy=10;
Zou dit niet aan een frameNumber moeten gelinkt worden, maar aan het Label.

Is dit mogelijk?

Grtz
Josh

Jan
%Europe/Berlin %478 %2008, 12:29
_curentframe levert altijd een Number op en dus kan je in een if statement niet kijken of _currentframe gelijk is aan een String (frame label).
Vandaar de oplossing van Cowerd om een variabele aan te maken met dezelfde naam als het framelabel en in die variabele het bijhorende frame nummer op te slaan.
Als je framelabel later op een ander frame(nummer) staat moet je dit natuurlijk ook weer aanpassen in je script.

Een andere oplossing is om een variabele aan te maken in elke frame waar een framelabel staat.
Bijvoorbeeld op frame10 staat framelabel "strategy", dan zou je in frame 10 één regel script kunnen zetten:
var frameLabel:String="strategy";
Op frame20 staat frameLabel "gameOver", dan zou je in frame 20 opnieuw één regel script kunnen zetten:
var frameLabel:String="gameOver";
en dan kan je in je if statements kijken wat er op dat frame in de variabele frameLabel zit:
knop.onRollOut = function() {
HomeText.text = "";
if (frameLabel == "strategy") {
knop.gotoAndStop("white");
} else {
knop.gotoAndStop("grey")
}
};

Groeten,
http://users.telenet.be/jansurf/cwo.png Jan

Joshua_abdon_sly
%Europe/Berlin %589 %2008, 15:08
Beste Jan, ik heb het zo opgelost zoals jij het voorlegde.
Zo kan ik gemakkelijker iets aanpassen.

Grtz
Josh