using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerControl : MonoBehaviour
{
// A、D控制角色向左、右移动 ,空格或W控制跳跃
//Ply 代表角色
//By@zhang san 2023.11.2
Animator PlayAnimator;
GameObject player;
float Movespeed=0f;
float Jumpspeed=100f;
private void Start()
{
player = GameObject.FindWithTag("Player");
PlayAnimator = player.GetComponent<Animator>();
}
void Update()
{
UserInterface();
AlwaysMove();
}
void UserInterface()
{
//Debug.Log("检测用输入");
float LeftrightValue = Input.GetAxis("Horizontal");//用户输入A 、D 得到一个-1 和 +1
float Upvalue = Input.GetAxis("Jump");//用户输入 得到一个-1 和 +1
PlyHoriMove(LeftrightValue, Upvalue);
}
void PlyHoriMove(float HoriValue, float Upvalue)
{
//Debug.Log("角色左右移动");
player.transform.Translate(HoriValue * Movespeed*Time.deltaTime, Upvalue* Jumpspeed * Time.deltaTime, 0);
}
void AlwaysMove()
{
//Debug.Log("角色保持跑");
if (Input.GetKey(KeyCode.W))//设置走路速度
{
Movespeed += 0.01f;
if (Movespeed >= 5&&!Input.GetKey(KeyCode.LeftShift))
{
Movespeed = 5;
}
if (Input.GetKey(KeyCode.LeftShift))
{
Movespeed +=0.01f;
Movespeed = Mathf.Clamp(Movespeed, 5f, 10f);
}
}
else if (!Input.GetKey(KeyCode.W))
{
//速度变成0
Movespeed -= 0.1f;
if (Movespeed<=0)
{
Movespeed = 0f;
}
}
PlayAnimator.SetFloat("Movespeed", Movespeed);
player.transform.Translate(new Vector3(0, 0, 1 * Movespeed*Time.deltaTime));
}
}
12-04
6721