プレーヤーが画面の左側を叩いたときに、プレーヤーを左に移動させたいと思っています。現在、マウス ボタンを押している間だけ、プレーヤーが動きます。私が本当に望んでいるのは、画面を 1 回押すと、目標位置に到達するまで彼が左に移動し続けることです。
これを可能にするためにコードに欠けているものを誰か教えてもらえますか?
void FixedUpdate()
{
if(Input.GetMouseButtonDown(0))
{
if(Input.mousePosition.x < (Screen.width*2)/3 && Input.mousePosition.y > Screen.height/3)
{
if(position == middle)
{
MoveLeft();
}
}
}
}
void MoveLeft()
{
var pos = rigidbody.position;
float xPosition = left.transform.position.x;
pos.x = Mathf.Lerp(pos.x, xPosition, speed * Time.deltaTime);
rigidbody.position = pos;
}
実際のプレーヤーを移動するのではなく、プレーヤーの剛体を移動しているため、私のメソッドは FixedUpdate にあります。