47 lines
1.1 KiB
C#
47 lines
1.1 KiB
C#
|
using System.Collections;
|
||
|
using System.Collections.Generic;
|
||
|
using UnityEngine;
|
||
|
|
||
|
public class Movement : MonoBehaviour
|
||
|
{
|
||
|
public float speed = 5.0f;
|
||
|
public float sprintSpeed = 10.0f;
|
||
|
public float jumpForce = 5.0f;
|
||
|
public float gravity = 9.8f;
|
||
|
|
||
|
private CharacterController controller;
|
||
|
private Vector3 moveDirection = Vector3.zero;
|
||
|
|
||
|
void Start()
|
||
|
{
|
||
|
controller = GetComponent<CharacterController>();
|
||
|
}
|
||
|
|
||
|
void Update()
|
||
|
{
|
||
|
if (controller.isGrounded)
|
||
|
{
|
||
|
moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0.0f, Input.GetAxis("Vertical"));
|
||
|
moveDirection = transform.TransformDirection(moveDirection);
|
||
|
|
||
|
if (Input.GetKey(KeyCode.LeftShift))
|
||
|
{
|
||
|
moveDirection *= sprintSpeed;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
moveDirection *= speed;
|
||
|
}
|
||
|
|
||
|
if (Input.GetButton("Jump"))
|
||
|
{
|
||
|
moveDirection.y = jumpForce;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
moveDirection.y -= gravity * Time.deltaTime;
|
||
|
controller.Move(moveDirection * Time.deltaTime);
|
||
|
}
|
||
|
}
|
||
|
|