Ich mache eine Wall-Runner Art von Spiel, wo ich meinen Charakter brauche, um die Wände zu wechseln, wenn die Maustaste gedrückt wird. Ich habe es mit der Schwerkraft arbeiten lassen, aber es gab unerwünschte Effekte. Daher arbeite ich jetzt mit transform.position, aber jetzt bewegt sich der Charakter nur für einen Bruchteil einer Sekunde (ich nehme an, die transform.position wird nur aktiviert, während die Maustaste gedrückt wird).Unity - Ändere die Richtung entlang der x-Achse, wenn GetMouseButtonDown
Wie kann ich die Richtung beim Mausklick ändern, anstatt nur etwas zu bewegen? Benötige ich eine Art While-Schleife oder wo bin ich?
Meine Klasse:
//Variables used by the Player
public int flyingSpeed;
bool rightWall = true;
bool inAir = false;
// Use this for initialization
void Start() {
}
// Update is called once per frame
void Update() {
//Constantly moves the Players position along the Y-axis
if (inAir == false) {
if (Input.GetMouseButtonDown (0) && rightWall == true) {
transform.position += Vector3.left * flyingSpeed * Time.deltaTime;
rightWall = false;
inAir = true;
} else if (Input.GetMouseButtonDown (0) && rightWall == false) {
transform.position += Vector3.right * flyingSpeed * Time.deltaTime;
rightWall = true;
inAir = true;
}
}
}
void OnCollisionEnter2D(Collision2D coll) {
inAir = false;
}