在Update中--每一帧都在工作--你的代码检查位置是否等于smth,如果不等于就会给gameobject增加速度。
如果你想在按按钮时发生这种情况,最好使用Input.getkeydown事件。
前面的例子,你的代码会检查位置是否等于smth,如果不加速度到游戏对象上。
void Update()
{
if (Input.GetKeyDown(KeyCode.RightArrow))
{
run = 1f;
}else
if (Input.GetKeyDown(KeyCode.LeftArrow))
{
run = -1f;
}
else
{
run = 0f;
}
rb.velocity = new Vector2(run, transform.position.y);
}