학교용 프로젝트를 만들고 있는데 지금까지는 꽤 좋아졌습니다. 거의 한 시간 동안 답변을 검색했지만 여전히 잘못된 태그를 찾을 수 없었습니다.히트 gameObject의 이름 표시
플레이어가 레이캐스팅으로 치고있는 항목의 이름을 표시하고 싶습니다. 나는이 시도했지만 아쉽게도 제대로 동작하지 않습니다 : 사람이 답을 알고 있다면
#pragma strict
var rayLength : int = 10;
private var inventory : Inventory;
private var guiShow : boolean = false;
var bush : GameObject;
var player : GameObject;
function Start()
{
inventory = GameObject.Find("First Person Controller").GetComponent(Inventory);
}
function Update()
{
var hit : RaycastHit;
var forward = transform.TransformDirection(Vector3.forward);
if(Physics.Raycast(transform.position, forward, hit, rayLength))
{
if(hit.collider.gameObject.tag == "Wood")
{
guiShow = true;
if(Input.GetKeyDown("e"))
{
inventory.wood++;
Destroy(hit.collider.gameObject);
guiShow = false;
}
}
else if(hit.collider.gameObject.tag == "Sticks")
{
guiShow = true;
if(Input.GetKeyDown("e"))
{
inventory.stick++;
Destroy(hit.collider.gameObject);
guiShow = false;
}
}
else if(hit.collider.gameObject.tag == "BushFull")
{
guiShow = true;
bush = (hit.collider.gameObject);
if(Input.GetKeyDown("e"))
{
inventory.berry += 5;
bush.GetComponent(BushController).berriesTaken = true;
guiShow = false;
}
}
else
{
guiShow = false;
}
}
else
{
guiShow = false;
}
}
function OnGUI()
{
if(guiShow == true)
{
GUI.Box(Rect(Screen.width/2, Screen.height/2, 100, 25), "Pick up" + hit.collider.gameObject);
}
}
이 - 저를 도와주세요. 미리 감사드립니다!
추가하지 마십시오의
hit.collider.gameObject.name
를 호출, 내 코드의 debug.log를 호출에 같은 이름의 변수를 호출해야 꼬리표 안에 꼬리표 및 Unity의 "JavaScript"는 실제로 JavaScript 그러나 UnityScript가 아니다 – LearnCocos2D아, 좋아. 죄송합니다. 다시는 발생하지 않습니다. – Fiffe