我用SendMessage函數以通知是由光線投射命中對象:使對象檢測光線投射不打它了
using UnityEngine;
public class Raycaster : MonoBehaviour {
void Update() {
RaycastHit hit;
if (Physics.Raycast(transform.position, transform.forward, out hit))
if(hit.transform.tag == "MyGameObject"){
hit.transform.SendMessage ("HitByRay");
}
}
}
而且對象有一個這樣的腳本:
using UnityEngine;
public class ObjectHit : MonoBehaviour {
void HitByRay() {
Debug.Log ("I was hit by a Ray");
}
}
並且在每一幀中都印有「我被雷擊中」的消息。 現在我需要通知那個遊戲對象,raycast不會再擊中它了。
店打到最後時刻對象的引用,如果新對象=的最後一個對象,或光線投射犯規打什麼這個時候,告訴它不是得到了命中目標! – Eddge