美好的一天,我想以固定速度向前移動我的Rigidbody2D對象,並在用戶點擊屏幕時改變方向。我有代碼:以恆定速度移動物體
public float speed;
void FixedUpdate()
{
if(platform == RuntimePlatform.Android || platform == RuntimePlatform.IPhonePlayer){
if(Input.touchCount > 0) {
if(Input.GetTouch(0).phase == TouchPhase.Began){
}
}
} else {
if(Input.GetMouseButtonDown(0)) {
var touchPosition = Camera.main.ScreenToWorldPoint (Input.mousePosition);
Quaternion rot = Quaternion.LookRotation (transform.position - touchPosition, Vector3.forward);
transform.rotation = rot;
transform.eulerAngles = new Vector3 (0, 0, transform.eulerAngles.z); // only z rotation
myScriptRigidBody.velocity = (touchPosition - transform.position).normalized * speed;
}
}
}
據我所知,對象應該改變它的方向鼠標點擊位置和以恆定速度移動。但在實踐中,對象的速度取決於用戶在屏幕上單擊的當前對象位置距離多遠。奇怪的是,我規範我的方向矢量和「速度」變量是不變的。我究竟做錯了什麼?謝謝。
當您說「對象的速度取決於用戶在屏幕上單擊的當前對象位置距離多遠」時,速度究竟取決於位置? – 31eee384