PBG2H23ABR_PBG2H23AKL_PMC_P.../Plunderblock/Assets/Scripts/ScriptsJan/PlayerScripts/PlayerMoveScript.cs

54 lines
1.4 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMoveScript : MonoBehaviour
{
public float speed;
public float xSensitivity;
public float ySensitivity;
private Rigidbody rb;
public Camera cam;
void Start()
{
rb = GetComponent<Rigidbody>();
}
// Update is called once per frame
void Update()
{
// In welche Richtung rennt der Spieler?
int moveDirX = 0;;
int moveDirZ = 0;
if(Input.GetKey(KeyCode.W)){moveDirZ++;}
if(Input.GetKey(KeyCode.S)){moveDirZ--;}
if(Input.GetKey(KeyCode.D)){moveDirX++;}
if(Input.GetKey(KeyCode.A)){moveDirX--;}
Vector3 moveDir = new Vector3(moveDirX, 0, moveDirZ);
moveDir.Normalize();
rb.velocity = transform.TransformDirection(new Vector3(moveDir.x * speed, rb.velocity.y, moveDir.z * speed));
look();
}
public void look()
{
float xMouseMovement = Input.GetAxis("Mouse X") * xSensitivity * Time.deltaTime;
float yMouseMovement = Input.GetAxis("Mouse Y") * ySensitivity * Time.deltaTime;
Vector3 currentRotation = cam.transform.rotation.eulerAngles;
float newDirX = currentRotation.y + xMouseMovement;
float newDirY = currentRotation.x - yMouseMovement;
cam.transform.rotation = Quaternion.Euler(0, newDirX, 0);
transform.rotation = Quaternion.Euler(newDirY, 0, 0);
}
}