2016-05-16 58 views
-3

如果相機不在停止位置,但我一直在標題中出現錯誤,我正試圖讓相機移回播放器。這裏是我的代碼:無法將類型「unityengine.vector3」轉換爲「浮動」

public float minPos = 0.3234783f; 
public float maxPos = 40f; 

Vector3 tempPos; 
public float playerPos; 

// Use this for initialization 
void Start() { 

} 

// Update is called once per frame 
void Update() { 
    playerPos = GameObject.Find ("Player").transform.position; 

    tempPos = transform.position; 

    tempPos.z = -10f; 

    if (transform.position.x < minPos) { 
     tempPos.x = minPos; 
    } else 
     tempPos.x = playerPos; 

    transform.position = tempPos; 
} 

我很新的編碼很抱歉,如果這是一個非常愚蠢的錯誤。

+2

,那是因爲你不能轉換型「unityengine.vector3」「浮動」。 – Fattie

回答

0

問題是這樣的線,其IDE應該告訴你:

playerPos = GameObject.Find ("Player").transform.position; 

playerPos是類型floatposition屬性的類型爲Vector3,並有它們之間沒有轉換。您可以將playerPos轉換爲Vector3來修復它並相應地調整您的代碼。

+0

好吧,現在我在第23行有同樣的確切錯誤:\ – user6210476

+0

@ user6210476那裏有同樣的原因。 'tempPos.x = playerPos;'不起作用,因爲playerPos現在是一個向量。你必須重寫你的代碼。 –

2

你的問題是在這裏playerPos = GameObject.Find("Player").transform.position;

transform.position;是Vector3不是浮動的。 playerPos被定義爲float,所以你不能保存Vector3浮動。更改public float playerPos;public Vector3 playerPos;

而且改變

tempPos.x = playerPos; 


tempPos.x = playerPos.x;

相關問題