using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CharacterControllerTest : MonoBehaviour
{
public CharacterController playercc;
public Vector3 moveMotion;
public float forwardSpeed = 1f;
public float trunSpeed = 0.5f;
public float upSpeed = 0.5f;
public float downSpeed = 0.5f;
public float h_value = 0;
public float v_value = 0;
public float up_value = 0;
public float jumpTime = 1;
public float timer = 0;
public bool isJump = false;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
h_value = Input.GetAxis("Horizontal");//监测水平方向的输入
v_value = Input.GetAxis("Vertical");//监测垂直方向的输入
if (Input.GetKeyDown(KeyCode.Space))
{
if(playercc.isGrounded)
{
isJump = true;
timer = 0;
}
}
if(isJump)
{
if (Input.GetKey(KeyCode.Space))
{
timer += Time.deltaTime;
up_value = 1;
if (timer > jumpTime)
{
up_value = 0;
isJump = false;
}
}
}
if (Input.GetKeyUp(KeyCode.Space))
{
up_value = 0;
isJump = false;
}
//按下的持续状态
//前后移动
//左右移动
//Vector3 forwardMoveSpeed = new Vector3(0, 0, 0.01f);
Vector3 forwardMoveSpeed = playercc.transform.forward * v_value * forwardSpeed * Time.deltaTime;
Vector3 trunMoveSpeed = playercc.transform.right * h_value * trunSpeed * Time.deltaTime;
Vector3 upMoveSpeed = playercc.transform.up * upSpeed * up_value * Time.deltaTime;
Vector3 downMoveSpeed = -playercc.transform.up * downSpeed * Time.deltaTime;
moveMotion = forwardMoveSpeed + trunMoveSpeed + upMoveSpeed + downMoveSpeed;
playercc.Move(moveMotion);
}
}