RoadRunner/Assets/script/PlayerController.cs
Kasper Karlgren c84494a697 new files
2025-01-21 13:54:40 +01:00

89 lines
2.6 KiB
C#

using UnityEngine;
public class PlayerController : MonoBehaviour
{
public float accSpeed = 1;
public float moveSpeed = 1;
private float moveSpeedPos;
public Rigidbody rb;
public UnityEngine.CharacterController charcontroller;
public Vector3 moveDir = Vector3.zero;
private float gravScale = 0.982f;
void Start()
{
charcontroller = GetComponent<CharacterController>();
rb = this.GetComponent<Rigidbody>();
accSpeed=1;
}
// private void Update()
// {
// moveSpeedPos = moveSpeed;
// if (charcontroller.isGrounded == true){
// moveSpeed += accSpeed*Input.GetAxis("Vertical")*Time.deltaTime;
// if (moveSpeed>10){
// moveSpeed = 10;
// }
// moveSpeedPos = moveSpeed;
// if (moveSpeed<-3){
// moveSpeed = -3;
// }
// if (moveSpeed<0){
// moveSpeedPos= moveSpeed*-1;
// }
// moveDir.Set(0.0f,0.0f,1.0f);
// moveDir = transform.TransformDirection(moveDir);
// transform.Rotate(0.0f,Input.GetAxis("Horizontal")/moveSpeed,0.0f);
// }
// print(moveDir);
// print(moveSpeedPos);
// moveDir.y -= gravScale * Time.time;
// charcontroller.Move(moveDir*moveSpeedPos*Time.deltaTime);
// }
private void Update()
{
if (charcontroller.isGrounded == true){
moveSpeed += accSpeed*Input.GetAxis("Vertical")*Time.deltaTime;
if (moveSpeed>10){
moveSpeed = 10;
}
if (moveSpeed<-3){
moveSpeed = -3;
}
if ((Input.GetAxis("Vertical") == 0)){
print("not pressing");
if (moveSpeed < 1/(moveSpeed/moveSpeedPos+0.01f)*1/(moveSpeed/moveSpeedPos+0.01f)*Time.deltaTime){
moveSpeed=0;
}else{
moveSpeed -= 1/(moveSpeed/moveSpeedPos+0.01f)*1/(moveSpeed/moveSpeedPos+0.01f)*Time.deltaTime;
}
}
moveDir.Set(0.0f,0.0f,1.0f);
moveDir = transform.TransformDirection(moveDir);
transform.Rotate(0.0f,Input.GetAxis("Horizontal")/(moveSpeed+0.1f),0.0f);
} else{
//moveDir.y -= gravScale * Time.time;
}
if (moveSpeed<0){
moveSpeedPos= moveSpeed*-1;
} else {
moveSpeedPos = moveSpeed;
}
charcontroller.Move(moveDir*moveSpeedPos*Time.deltaTime);
}
}