【发布时间】:2019-06-23 11:36:31
【问题描述】:
所以,我想创建一个小平台游戏,其中包含角色、敌人等常见的东西。我添加了一个代码,允许我的角色左右移动,但是当我停止按下与方向相对应的按钮时,精灵继续移动,就好像它在冰上一样。谁能帮我解决这个问题,因为我不知道出了什么问题?
public float speed = 2f;
Rigidbody2D mRB2D;
datasheet mDTS;
// Start is called before the first frame update
void Start()
{
mDTS = GetComponent<datasheet>();
Debug.Assert(mDTS != null, "require datasheet");
}
// Update is called once per frame
void Update()
{
float tHorizontal = Input.GetAxis("Horizontal");
//float tVertical = Input.Get
mDTS.movement += (Vector2)transform.right * speed * tHorizontal * Time.deltaTime;
}
~
public float max_ms = 6f;
public Vector2 movement = Vector2.zero;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
transform.position += (Vector3)movement * Time.deltaTime;
}
private void LateUpdate()
{
SpeedClamp();
}
void SpeedClamp()
{
if (movement.magnitude > max_ms)
{
movement = movement.normalized * max_ms;
}
}
【问题讨论】: