PDA

Volledige versie bekijken : else if?


LargoWinch
%Europe/Berlin %436 %2005, 11:28
hallo,dit heb ik op een button geplaatst,maar hij werkt niet. Kan mij eens iemand zeggen wat hier verkeerd aan is want ik zie de fout niet.

on (release, releaseOutside) {
if (_root.kindmov == false) {
_root.menu.dominique.endY = 35.4;
_root.menu.tzoetebieke.endY = 66.9;
_root.menu.leloetjesenpetoetjes.endY = 96.0;
_root.kindmov == true
} else if (_root.kindmov == true) {
_root.menu.dominique.endY = 1.0;
_root.menu.tzoetebieke.endY = 1.0;
_root.menu.leloetjesenpetoetjes.endY = 1.0;
_root.kindmov == false
}
}
op de eerste frame heb ik al gezet
_root.kindmov == false


thnx

moflwm
%Europe/Berlin %459 %2005, 12:01
je fout ligt hier:
_root.kindmov == false; // 2 maal
_root.kindmov == true;

als je een waarde wilt toewijzen aan _root.kindmov, moet je een enkele = gebruiken:
_root.kindmov = false;
_root.kindmov = true;


verder nog een opmerking:
if (_root.kindmov == false) {}
else if (_root.kindmov == true) {}
dat verander je beter in
if (_root.kindmov) {
// wat er moet gebeuren als _root.kindmov == true
} else {
// wat er moet gebeuren als _root.kindmov == false
}

dat is net iets sneller, en logischer :)
succes!
yves

Laiverd
%Europe/Berlin %545 %2005, 14:05
Is inderdaad sneller maar ook foutgevoeliger. Als kindmov nl. wel een waarde heeft, maar niet Boolean dan is de vergelijking ook true, maar toch niet waar.
var kindmov = "plop";
if (_root.kindmov) {
// wat er moet gebeuren als _root.kindmov == true
trace("kindmov = true??")
} else {
// wat er moet gebeuren als _root.kindmov == false
trace("kindmov = false ?? of bestaat ie gewoon niet");
}
Je zou dus ook moeten checken voor Boolean als je het netjes wilt doen
var kindmov;
if (_root.kindmov && typeof kindmov == "boolean") {
// wat er moet gebeuren als _root.kindmov == true
trace("kindmov = true");
} else if (!_root.kindmov && typeof kindmov == "boolean") {
// wat er moet gebeuren als _root.kindmov == false
trace("kindmov = false");
} else if (typeof kindmov != "boolean") {
trace("kindmov heeft geen boolean waarde");
}
Als je publiceert voor Flash Player 7 of hoger, kun je natuurlijk ook je variabelen strong typen. Dan genereert de Flash Player vanzelf een foutmelding wanneer het waardetype niet Boolean is.
var kindmov:Boolean;
kindmov = "plop"
En eigenlijk zou je ook nog voor undefined moeten checken.

John

LargoWinch
%Europe/Berlin %936 %2005, 23:28
Bedankt
Ik heb de code van moflwm gebruikt en it works like a charm.
bye