2014-08-31 115 views
1

我是Unity的新手。雖然我在跟隨「Catch Game」的視頻教程,但我使用的是Unity 4.3.3版本。在Unity中找不到rigidBody2D.MovePosition

這是我的代碼。

using UnityEngine; 
using System.Collections; 

public class BasketController : MonoBehaviour { 

    public Camera cam; 
    // Use this for initialization 
    void Start() { 
     if (cam == null) 
     { 
      cam = Camera.main;  
     } 
    } 

    // Update is called once physics TimeStep 
    void FixedUpdate() { 
     Vector3 rawPosition = cam.ScreenToWorldPoint (Input.mousePosition); 
     Vector3 targetPosition = new Vector3 (rawPosition.x, 0.0f, 0.0f); 
     rigidbody2D.MovePosition (targetPosition); 
    } 
} 

我收到以下錯誤。

error CS1061: Type `UnityEngine.Rigidbody2D' does not contain a definition for `MovePosition' and no extension method `MovePosition' of type `UnityEngine.Rigidbody2D' could be found (are you missing a using directive or an assembly reference?) 

請糾正我error.Thanks提前..

回答

4

你需要有統一4.5或更新的版本來使用Rigidbody2D.MovePosition: http://forum.unity3d.com/threads/cannot-figure-out-my-error.253139/

至於解決方法,你可能可以使用:

rigidbody2D.position = targetPosition; 
+1

感謝您的評論..你確定統一4.3.3沒有「MovePosition」的功能? – 2014-08-31 15:00:07

+1

根據Unity的Scriptin API的歷史,它被添加到4.5中:http://docs.unity3d.com/ScriptReference/40_history.html 如果您的統一版本缺少該功能或者如果您沒有正確的版本,您會收到該錯誤消息在你的C#文件中使用子句。 – maZZZu 2014-08-31 15:42:18

+1

我可以證實,在統一4.3.4沒有rigidbody2d.MovePosition。 – Rudolfwm 2014-08-31 16:24:20

相關問題