2014-12-02 1 views
0

내 코드에 문제가 있습니다. 3D 상자를 마우스 위치 변수로 이동하려고합니다. 상자의 x, y, z를 변경하는 방법을 알아야합니다. 내 마우스 위치 스크립트. 모든 메신저 정말 묻습니다, 다른 스크립트에서 변수를 사용하여 상자 x, y, z를 어떻게 변경합니까? 감사!유니티 상자에서 마우스로 발행

코드 :

adjustable.transform.position = new Vector3(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> '은 xyz 위치를 변경합니다. 'point'라고 말하지만,'firstobject'로 무엇을하려하는지 혼란스럽고'cube' 스크립트가 무엇을하고 있는지 알지 못합니다. – Lefty

답변

0

다른 개체의 다음은 단순히 케이스 ('조정'라는 이름으로 말할 수) 당신의 상자 게임 오브젝트를 알고 있는지 확인 객체가 box gameObject를 인식하는지 확인하려면 public 변수를 조정 한 다음 해당 객체의 구성 요소에 만들어지는 필드로 상자를 수동으로 드래그합니다.

+0

상자가 이미 OP 예제 코드의 변형입니다 ... – Lefty

+0

"다른 객체가 상자 게임 객체를 인식하고 있는지 확인하는 방법" – Hudson

+0

미안하지만 초기 답변이 명확하지 않았습니다. 더 자세한 설명을 제공하기 위해 답을 편집했지만 귀하의 지식면에서 여전히 많은 부분을 추측하고있을 수 있습니다. 그것이 사실인지 알게하고 나는 더 명확하게하려고 노력할 것이다. –