Hallo wenn ich play klicke kann mich mich von recht und nach links bewegen aber nicht umdrehen. 3d
Und bekomme dann 999+ fehlermeldungen, die so aussiehen wie der title der frage.
hat jemand nh lösung?
Mein Code
using UnityEngine; //das sind die referenzen die benutzt werden von unity
public class playercontroller : MonoBehaviour
{
public float walkingSpeed = 8f;
public float RunningSpeed = 12f;
public float JumpSpeed = 8f;
public float Gravity = 9.89f; //Entspricht ungefär der Engine Erdschweerkraft
public Camera PlayerCamera; // Die Spieler Kamera
public float LookSpeed = 2f;
public float LookXLimit = 45f;
CharacterController charakterController;
//Debug Sachen die man nicht während des Spielen verändern sollte
Vector3 MoveDirection = Vector3.zero; //macht es so das die bewung null beim standart script im normal fall ist
float RotationX = 0;
public bool CanThePlayerMove = true;
// Bei Zuteilungen von Sachen wie Componente,var usw... meistens Awake benutzen
void Awake()
{
charakterController = GetComponent<CharacterController>();
}
public void Start()
{
//Machts so das der Mauszeiger in der Mitte bleibt und unsicht bar wird am Start des Scripts
Cursor.lockState = CursorLockMode.Locked;
Cursor.visible = false;
}
// Update is called once per frame
void Update()
{
Vector3 forward = transform.TransformDirection(Vector3.right);
Vector3 right = transform.TransformDirection(Vector3.right);
//Rennen // Sprinten
bool isRunning = Input.GetKey(KeyCode.LeftShift);
float curSpeedX = CanThePlayerMove ? (isRunning ? RunningSpeed : walkingSpeed) * Input.GetAxis("Vertical") : 0;
float curSpeedY = CanThePlayerMove ? (isRunning ? RunningSpeed : walkingSpeed) * Input.GetAxis("Horizontal") : 0;
float moveDirectionY = MoveDirection.y;
MoveDirection = (forward * curSpeedX) + (right * curSpeedY);
//Springen
if (Input.GetKeyDown(KeyCode.Space) && CanThePlayerMove == true && charakterController.isGrounded == true)
{
MoveDirection.y = JumpSpeed;
}
else
{
MoveDirection.y = moveDirectionY;
}
//Schwerkraft
if (charakterController.isGrounded == false)
{
MoveDirection.y -= Gravity * Time.deltaTime;
}
//Allgemeines Handling der Bewegung
charakterController.Move(MoveDirection * Time.deltaTime);
//Kamera Rotation...Keine ahnung ob das klappt...?
if (CanThePlayerMove == true)
{
RotationX += -Input.GetAxis("Mouse Y") * LookSpeed;
RotationX = Mathf.Clamp(RotationX, -LookXLimit, LookXLimit);
PlayerCamera.transform.localRotation = Quaternion.Euler(RotationX, 0, 0);
transform.rotation = transform.rotation * Quaternion.Euler(0, Input.GetAxis("Mouse X") * LookSpeed, 0);
}
}
}