using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Collections;
public class Player : MonoBehaviour {
//獲取角色控制器
public CharacterController playerCC;
//攝像機
private Camera Mcamera;
//移動速度
public float speed = 10f;
//跳躍距離
public float vy = 0;
//重力
public float groayt = -2;
//攝像機高度
public float cmcmHeight = 0.5f;
// Use this for initialization
void Start () {
//獲取主攝像機(角色攝像機)
Mcamera = Camera.main;
}
// Update is called once per frame
void Update () {
//調(diào)用Move()函數(shù)
Move();
//調(diào)用CameraControl()函數(shù)
CameraControl();
}
/// <summary>
/// 移動函數(shù)
/// </summary>
private void Move()
{
//軸輸入
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
if (!playerCC.isGrounded)
{
vy += groayt * Time.deltaTime;
}
if (Input.GetKeyDown(KeyCode.Space)) {
vy = 2;
}
//利用角色控制器進行移動
playerCC.Move(playerCC.transform.TransformDirection(new Vector3(h, vy, v)speedTime.deltaTime));
}
//攝像機及角色旋轉(zhuǎn)
private void CameraControl()
{
//創(chuàng)建一個歐拉角薯嗤,并賦值為主攝像機的歐拉角
Vector3 cmEuler = Mcamera.transform.eulerAngles;
//時刻記錄鼠標(biāo)滑動的值,并賦值給角色
cmEuler.x -= Input.GetAxis("Mouse Y");
cmEuler.y += Input.GetAxis("Mouse X");
//并將角色的歐拉角賦值給攝像機
Mcamera.transform.eulerAngles = cmEuler;
//只讓角色的y軸發(fā)生旋轉(zhuǎn)
cmEuler.x = cmEuler.z = 0;
transform.eulerAngles = cmEuler;
//讓攝像機跟隨角色
Mcamera.transform.position = this.transform.position + new Vector3(0, cmcmHeight, 0);
}
}