你好,我在团结一致的基础上上课,
public class Path : MonoBehaviour, IPath
{
public GameObject Quad { get; set; }
public Guid Id { get; set; }
public Path( float sizeX, float sizeY)
{
Quad = GameObject.CreatePrimitive(PrimitiveType.Quad);
Id = Guid.NewGuid();
Helpers.ChangeSize(Quad, sizeX, sizeY);
}
}
它在运行时被调用。
我想在GameObject Quad(或此类)上设置一个OnClick事件,该事件调用一个类的另一个实例(附加到主摄像头)的方法,并将其ID发送给它。
有什么想法吗?
答案 0 :(得分:1)
如果要检测对游戏对象的单击,则只要玩家单击,就需要使用射线广播。
if (Input.GetMouseButtonDown (0)) {
var ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit, 100)) {
// whatever tag you are looking for on your game object
if(hit.collider.tag == "Idk") {
//Call method on camera
}
}
}
您必须将其放入某个地方的更新方法中。最好是某种InputManager。您可以了解有关Raycast Here
的信息