Имам проблем със създаването на начин да проверя дали плейърът НЕ се сблъсква с определена „пътна точка“, ако щракна върху тази междинна точка. Настроих 7 точки, до които играчът ще иска да може да се придвижи.
Сега се опитвам да напиша фрагмент от скрипт, който проверява дали СЛЕД щракване върху точката (onMouseDown) има сблъсък с плейъра. Защото ако случаят е такъв, той няма да изчисли позицията, към която да се придвижи.
public class WayPointPositioner : MonoBehaviour {
private Vector3 wayPointPosition;
public GameObject playercheck;
//Check if object is clicked
void OnMouseDown ()
{
Debug.Log ("Object Clicked " + GameObject.name);
// Check if collision occurs with playercheck
OnCollisionEnter(playercheck != Collision)
{
// If its the player, then return a new position for the player to move to for walking
// Else debug that its not so
if (playercheck.gameObject.CompareTag("Player"))
{
Debug.Log ("Object not colliding and retrieving position");
wayPointPosition = new Vector3 (GameObject.X, GameObject.Y, 10);
wayPointPosition = Camera.main.ScreenToWorldPoint(wayPointPosition);
}
else
{
Debug.Log ("Object is colliding, no movement needed");
}
}
}
}
Сега вече разбрах, че OnCollisionEnter
няма да работи. Защото изисква оператора void преди него, за да функционира. Въпреки това нямам представа как иначе мога да направя това.