ich ein Objekt habe player
und einen virtuellen Joystick-Controller namens joystick
genannt und enthält sein Knopf knob
genannt und ich habe die joystick
und die knob
in einem anderen Movieclip platziert.Objekt noch in Bewegung, auch wenn die Zahl der Bewegung 0 ist
Ich verwende ein Skript, um die player
als die Menge der Bewegung der knob
zu verschieben.
Hier ist der Code:
function enterFrame(e:Event): void {
if (moving) {
// I move the knob as the touch point moves
// and the player as the knob moves
} else {
// I'm trying to slow down the knob movement to get back to its default position
// and slow down the player movement until it stopped
if (knob.x - joystick.x > 0) {
knob.x -= (knob.x - joystick.x)*.5;
player.x -= -(knob.x - joystick.x)*.9;
}
if (knob.x - joystick.x < 0) {
knob.x += -((knob.x - joystick.x)*.5);
player.x += (knob.x - joystick.x)*.9;
}
if (knob.y - joystick.y > 0) {
knob.y -= (knob.y - joystick.y)*.5;
player.y -= -((knob.y - joystick.y)*.9);
}
if (knob.y - joystick.y < 0) {
knob.y += -((knob.y - joystick.y)*.5);
player.y += (knob.y - joystick.y)*.9;
}
// Then I use trace to trace the player x position
trace(player.x);
}
}
Und was ich habe ist, wenn ich den Knopf nach links Position bewegen und touch_end
es, die langsamen Arbeiten nach unten, aber der player
Halt von .01 links. Aber wenn ich den Knopf in eine andere Richtung und touch_end
es verschiebe, funktioniert die Verlangsamung gut, bis die player
gestoppt.
Warum konnte das passieren?
Gibt es eine Möglichkeit, das zu beheben?
Trace ("Verschieben:" + Verschieben) in Ihrem enterFrame-Funktion bitte und lassen Sie mich wissen, was passiert. Wenn der Spieler sich bewegt .01, bewegt sich wahr oder falsch? –
Es ist 'false', ich weiß nicht einmal warum – Gregorio