Ich habe zwei Spielobjekte in meiner Szene und ich weise dieses Skript beiden zu. Wenn ich auf irgendeinen von ihnen klicke, wird der Code in der If-Anweisung, der sich auf jede von ihnen bezieht, zweimal ausgeführt, wenn ich einen von ihnen deaktiviere, wird er einmal ausgeführt, wie es sollte. Das Erkennen von Objekten mit Raycast wird zweimal ausgeführt.
void Update()
{
if (Input.GetMouseButtonDown(0))
{
RaycastHit hit;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit))
{
if (hit.transform.name == "Object A")
{
Debug.Log("Object A Clicked"); // log twice
}
if (hit.transform.name == "Object B")
{
Debug.Log("Object B Clicked"); // log twice
}
}
}
}
Die Frage ist, warum wird der Code zweimal mit einem einzigen Klick ausgeführt ?!
Danke, das hat geholfen. – Abdou023