PDA

Volledige versie bekijken : function probleem


Fatty Owl
%Europe/Berlin %495 %2005, 12:54
ok ik heb de volgende code (het kan simpeler maar ik ben aan het oefenen op functions)
maar nu beweegt hij bij elke key.isDown naar rechts?? function Move(target, speed, richting):Void {
if (richting == right) {
target._x += speed;
} else if (richting == left) {
target._x -= speed;
} else if (richting == up) {
target._y -= speed;
} else if (richting == down) {
target._y += speed;
}
}
this.onEnterFrame = function() {
if (Key.isDown(Key.RIGHT)) {
Move(ball, 10, right);
}
if (Key.isDown(Key.LEFT)) {
Move(ball, 10, left);
}
if (Key.isDown(Key.UP)) {
Move(ball, 10, up);
}
if (Key.isDown(Key.DOWN)) {
Move(ball, 10, down);
}
}

Laiverd
%Europe/Berlin %504 %2005, 13:06
right, left up en down zijn nu variabele namen, en omdat je de variabele niet hebt gedefinieerd, is de allereerste if altijd waar. Je gebruikt de parameter richting; da's okay, maar de waarde moet wel een string zijn. Dus if (richting == "right"). En ook in de aanroep moet het dan een string zijn: Move(ball, 10,"down").

John

Roenes
%Europe/Berlin %505 %2005, 13:07
Probeer het eens zo:
function Move(target, speed, richting):Void {
if (richting == "right") {
target._x += speed;
} else if (richting == "left") {
target._x -= speed;
} else if (richting == "up") {
target._y -= speed;
} else if (richting == "down") {
target._y += speed;
}
}
this.onEnterFrame = function() {
if (Key.isDown(Key.RIGHT)) {
Move(ball, 10, "right");
}
if (Key.isDown(Key.LEFT)) {
Move(ball, 10, "left");
}
if (Key.isDown(Key.UP)) {
Move(ball, 10, "up");
}
if (Key.isDown(Key.DOWN)) {
Move(ball, 10, "down");
}
}

Fatty Owl
%Europe/Berlin %511 %2005, 13:16
*slaat zichzelf voor het hoofd* ik vergeet altijd "" rond strings te zetten :# yep zo werkt het dus :D

Laiverd
%Europe/Berlin %513 %2005, 13:18
... ik vergeet altijd "" rond strings te zetten ...Dat gaat dus vanaf vandaag nooit meer gebeuren?!! :)

Fatty Owl
%Europe/Berlin %520 %2005, 13:29
Ik zal proberen :D:D (ik vergeet ook altijd ""'s bij trace te zetten :#)

Laiverd
%Europe/Berlin %521 %2005, 13:30
Je weet nu in elk geval wat je als eerste moet checken als iets niet werkt.

John