是否可以通过我走路的距离/时间来提高移动速度?此时我只能将速度设置为固定值。
void Start () {
rb = GetComponent<Rigidbody2D>();
}
void Update () {
rb.velocity = new Vector2(3, rb.velocity.y);
if (Input.GetMouseButtonDown(0) && onGround)
{
rb.velocity = new Vector2(rb.velocity.x, 3);
}
}
答案 0 :(得分:2)
您可能想要调查Time.deltaTime
,它会显示自上一帧以来经过的时间。通过这些信息,以及您目前在每一帧中旅行的距离的知识,您可以做任何您需要的事情。
答案 1 :(得分:1)
我认为你要求的是这样的
float timeWalking = 1.0f;
void Update () {
rb.velocity = new Vector2(3, rb.velocity.y);
if (Input.GetMouseButtonDown(0) && onGround)
{
timeWalking += Time.deltaTime;
rb.velocity = new Vector2(rb.velocity.x, 3) * timeWalking;
}
if (Input.GetMouseButtonUp(0) && onGround)
timeWalking = 1.0f;
}