2016-05-30 436 views
0
using UnityEngine; 
using System.Collections; 
public class GetPosition : MonoBehaviour 
{ 
    Vector3 dragStartPosition; 
    float dragStartDistance; 
    float[] Xfloat; 

    void OnMouseDown() 
    { 
     dragStartPosition = transform.position; 
     dragStartDistance = (Camera.main.transform.position - transform.position).magnitude; 
    } 

    void Update() 
    { 
    } 

    void OnMouseDrag() 
    { 
      Vector3 worldDragTo = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, dragStartDistance)); 
      transform.position = new Vector3(worldDragTo.x, dragStartPosition.y, dragStartPosition.z); 
      new Vector3(worldDragTo.x, dragStartPosition.y, dragStartPosition.z); 
      float Newpos = ; 
    } 

    void OnMouseUp() 
    { 
    } 

} 

我有這個代碼的統一,我想將我的新的Vector3(僅位置x)轉換爲浮動,我該如何做到這一點?作爲一個的Vector3的部件都已經漂浮將Vector3轉換爲在Unity中浮動

float Newpos = worldDragTo.x; 

回答

3

它的那樣簡單。

如果他們是你需要投爲你與你的轉換損失精度所以有雙重沒有隱式轉換或小數向下浮動另一個浮點類型。

雖然你沒有所以你把它扔了它賦值給一個變量創建載體。

new Vector3(worldDragTo.x, dragStartPosition.y, dragStartPosition.z); 
+1

X是已經浮起。不需要投射,但是這個答案是正確的 – Programmer

+0

在旁註中,Unity3D中'Vector3'的成員是小寫字母。看起來你在那裏引用了XNA文檔。 = P – Serlite

+0

@Serlite - 啊。謝謝。 – ChrisF