Momentan arbeite ich an einigen Spielerbewegungen. Die Grundidee meines Spielers bewegt sich nur horizontal und vertikal, nicht diagonal. Ich konnte keine vernünftige Lösung für dieses Problem finden. Ich möchte wirklich nicht starricbody oder character.controller für jetzt verwenden. Die andere Sache, die ich erreichen möchte, ist, wenn ich mehrere Richtungstasten drücke, möchte ich, dass sich mein Player direkt in die zuletzt gedrückte Richtung bewegt. Hier ist mein Code:in die letzte gedrückte Richtung ohne diagonale Bewegung bewegen
using UnityEngine;
using System.Collections;
public class controller : MonoBehaviour {
public int movementspeed;
// Use this for initialization
void Start() {
}
// Update is called once per frame
void Update() {
if (Input.GetKey (KeyCode.A)) {
//ratation
transform.localEulerAngles = new Vector3(0,270,0);
//move
transform.Translate (transform.right * movementspeed * Time.deltaTime);
}
else if(Input.GetKey (KeyCode.D)) {
//ratation
transform.localEulerAngles = new Vector3(0,90,0);
//move
transform.Translate (transform.right *(-1)* movementspeed * Time.deltaTime);
}
else if(Input.GetKey (KeyCode.S)) {
//ratation
transform.localEulerAngles = new Vector3(0,180,0);
//move
transform.Translate (transform.forward * (-1) * movementspeed * Time.deltaTime);
}
else if (Input.GetKey (KeyCode.W)) {
//ratation
transform.localEulerAngles = new Vector3(0,0,0);
//move
transform.Translate (transform.forward * movementspeed * Time.deltaTime);
}
else if (Input.GetKey (KeyCode.A)) {
//ratation
transform.localEulerAngles = new Vector3(0,270,0);
//move
transform.Translate (transform.right * movementspeed * Time.deltaTime);
}
}
}
danke für deine antwort, nach einiger arbeit habe ich festgestellt, dass es kein guter weg ist, um bewegungsskript zu machen. Ich habe meine Arbeit gewechselt, ich benutze jetzt den Charaktercontroller. – umuur
Kein Problem. Ich kann dir empfehlen, irgendwann deine eigenen Charakter-Controller zu machen. Es ist gut für das Training und auf diese Weise können Sie es bekommen, wie Sie wollen. – Martin