Mini-Games-Game/Assets/Movement.cs

66 lines
1.9 KiB
C#
Raw Normal View History

2024-04-28 14:13:37 +01:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Movement : MonoBehaviour
{
public float speed = 5.0f;
public float turnSpeed;
2024-04-28 14:13:37 +01:00
public float sprintSpeed = 10.0f;
public float jumpForce;
2024-04-28 14:13:37 +01:00
public float gravity = 9.8f;
public PickUpObject throwForce;
2024-04-28 14:13:37 +01:00
private CharacterController controller;
private Vector3 moveDirection = Vector3.zero;
void Start()
{
controller = GetComponent<CharacterController>();
}
void Update()
{
if (controller.isGrounded)
{
// Change the direction the player is facing based on the direction they are moving
if (Input.GetAxis("Horizontal") != 0 || Input.GetAxis("Vertical") != 0)
{
Quaternion ToRotation = Quaternion.LookRotation(new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")));
throwForce.throwForce = 8.5f;
transform.rotation = Quaternion.RotateTowards(transform.rotation, ToRotation, turnSpeed * Time.deltaTime);
}
else
{
throwForce.throwForce = 4.0f;
}
moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
2024-04-28 14:13:37 +01:00
if (Input.GetKey(KeyCode.LeftShift))
{
moveDirection *= sprintSpeed;
jumpForce = 4.0f;
if(Input.GetAxis("Horizontal") != 0 || Input.GetAxis("Vertical") != 0)
{
throwForce.throwForce = 20.0f;
}
2024-04-28 14:13:37 +01:00
}
else
{
moveDirection *= speed;
jumpForce = 2.5f;
2024-04-28 14:13:37 +01:00
}
if (Input.GetButton("Jump"))
{
moveDirection.y = jumpForce;
}
}
moveDirection.y -= gravity * Time.deltaTime;
controller.Move(moveDirection * Time.deltaTime);
}
}