2014-12-28 4 views
-1

나는 3 차원 텍스트 메뉴가 있습니다. 메인 카메라에는 텍스트를 클릭 한 후 재생할 애니메이션이 있습니다. 모든 텍스트에는 고유 한 강체와 충돌자가 있습니다.구체적인 hit.rigidbody 참조 gameObject

#pragma strict 
import UnityEngine; 
var object : GameObject; 
var Run : AnimationPlay; 
function start(){ 
Run = object.GetComponent(AnimationPlay); 
} 
function Update() { 
    if (Input.GetMouseButtonDown(0)) { 
     var hit: RaycastHit; 
     var ray = Camera.main.ScreenPointToRay(Input.mousePosition); 

     if (Physics.Raycast(ray, hit)) { 
      if (hit.rigidbody != null){ 
       Debug.Log("Start Game pushed"); 
       Run.action = true; 
       } 
     } 
    } 
} 
게임 시작 버튼의

이 하나 : 뒤로 버튼

#pragma strict 
import UnityEngine; 
var object : GameObject; 
var Run : AnimationPlay2; 
function start(){ 
Run = object.GetComponent(AnimationPlay2); 
} 
function Update() { 
    if (Input.GetMouseButtonDown(0)) { 
     var hit: RaycastHit; 
     var ray = Camera.main.ScreenPointToRay(Input.mousePosition); 

     if (Physics.Raycast(ray, hit)) { 
      if (hit.rigidbody != null){ 
       Debug.Log("Back pushed"); 
       Run.action2 = true; 
       } 
     } 
    } 
} 

이 코드를했다. 문제는 클릭해야 할 강체에 상관없이 두 애니메이션이 모두 재생되기 시작하고 이상한 효과가 발생한다는 것입니다. 구체적인 gameObject의 rigidbody에 대한 참조를 만드는 방법을 모르겠습니다.

답변

0

내 문제가 해결되었습니다. 나는

hit.rigidbody.gameObject.tag == "StartGame" //object's tag here 

hit.rigidbody != null 

을 교체하고 지금은 잘 작동합니다.