2014-12-02 27 views
0

我有我的代碼問題,我試圖將一個3D框移動到鼠標位置的變量,我需要知道如何更改框的x,y,z與我的鼠標位置腳本。 所有我真的問,我如何改變我的方框x,y,z與另一個腳本中的變量。謝謝!統一框到鼠標問題

代碼:

#pragma strict 

public var distance : float = 4.5; 
var box = Transform; 
private var firstObject : cube; 

function Start() { 
} 

function Update() { 
     CastRayToWorld(); 
} 

function CastRayToWorld() { 
     var ray : Ray = Camera.main.ScreenPointToRay(Input.mousePosition);  
     var point : Vector3 = ray.origin + (ray.direction * distance);  
     Debug.Log("World point " + point); 
     firstObject = GameObject.Find("pos").GetComponent("cube").pos = point; 
     firstObject.pos = point; 
} 
+0

場景中一個變換的xyz是'position'屬性,所以'box.position = <...一些var類型的vector3 ...>'會改變它的xyz位置,我想在你的例子中是'point',但是對於你想要用'firstobject'做什麼,並且不知道'cube'腳本正在做什麼,有點混亂。 – Lefty 2014-12-02 09:21:59

回答

0

確保其他對象知道你的箱子游戲物體的(名義讓說「調節」),那麼它只是一個的情況下:

adjustable.transform.position = new Vector3(x, y, z) 

爲了確保該對象知道gameObject的方框,可以調整一個公共變量,然後將該框從場景中手動拖放到將在相關對象的組件中創建的字段中。

+0

box已經是OP示例代碼中的一個轉換... – Lefty 2014-12-02 09:23:33

+0

如何「確保其他對象知道您的box gameObject」 – Hudson 2014-12-02 23:50:50

+0

對不起,我對我的初步答案並不十分清楚。我編輯了答案以提供更多的解釋,但我仍然可能假設你的知識太多。讓我知道如果是這樣,我會試着進一步澄清。 – 2014-12-03 01:16:06