I’m making a top-down 2D game. To select a character, I’m using a raycast to detect the “Player” tag. It works fine and I’m able to select the player just fine…BUT only after the characters transform changes once first. I’m not sure why it’s doing that, I’ve attached the raycast.
private void PlayerInput()
{
if (Input.GetMouseButtonDown(0))
{
int rayLayerMask = LayerMask.GetMask("Player");
RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero, rayLayerMask);
if (hit)
{
if (hit.collider.gameObject.tag == "Player")
{
Debug.Log("it's hitting player");
player = hit.collider.gameObject;
var hitplayerScript = player.GetComponent<playerScript>();
hitplayerScript.currentlySelected = true;
characterSelected = true;
}
if (hit.collider.gameObject.tag != "Player")
{
characterSelected = false;
player = null;
Debug.Log("it's NOT hitting player");
}
}
else
{
return;
}
}