我想讓我的玩家在玩家擊中屏幕左側時向左移動。現在,當我按住鼠標按鈕時,我的播放器只會移動。我真正想要的是讓他不斷地向左移動,直到我按下屏幕一次後,他到達目標位置。光滑的lerp剛體
有人可以告訴我什麼,我從我的代碼丟失,讓這種情況發生?
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因爲我剛體運動的球員反對翻譯的實際播放器。
我看這件事,線性插值=線性插值) –
呀。它意味着在兩點之間平滑地移動一個物體。有一個斯派普相同,但在一個球形運動,如此好的軌道等,但不是我可以在這裏使用:( – N0xus
對於初學者,你應該使用Time.fixedDeltaTime如果你正在從FixedUpdate() – DMaguireKane