using UnityEngine;
using System.Collections;
[RequireComponent(typeof(CharacterController))]
public class PlayerMovement : MonoBehaviour
{
CharacterController characterController;
public float speed = 6.0f;
public float jumpSpeed = 8.0f;
public float gravity = 20.0f;
public float turnSensitivity = 4;
public Transform head;
private Vector3 moveDirection = Vector3.zero;
private Vector3 curEuler = Vector3.zero;
void Start()
{
characterController = GetComponent<CharacterController>();
}
void Update()
{
if (characterController.isGrounded)
{
moveDirection = transform.TransformDirection(new Vector3(Input.GetAxis("Horizontal"), 0.0f, Input.GetAxis("Vertical")));
moveDirection *= speed;
if (Input.GetButton("Jump"))
{
moveDirection.y = jumpSpeed;
}
}
float XturnAmount = Input.GetAxis("Mouse Y") * Time.deltaTime * turnSensitivity;
curEuler = Vector3.right * Mathf.Clamp( curEuler.x - XturnAmount, -90f, 90f);
head.localRotation = Quaternion.Euler(curEuler);
float YturnAmount = Input.GetAxis("Mouse X") * Time.deltaTime * turnSensitivity;
transform.Rotate(Vector3.up * YturnAmount);
moveDirection.y -= gravity * Time.deltaTime;
characterController.Move(moveDirection * Time.deltaTime);
}