Смерть персонажа от enemy Unity 2D
Имеется enemy под тегом "mouse" а также код, когда на "mouse" герой просто соприкасается любым способом, тот пропадает (mouse) Код смерти "mouse":
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EnemyController : MonoBehaviour
{
private void OnCollisionEnter2D(Collision2D other)
{
if (other.gameObject.tag == "mouse")
{
Destroy(other.gameObject);
}
else
{
}
}
}
Нужно, чтобы сам герой при горизонтальном столкновении от мыши погибал, но при этом герой мог убивать его прыгнув на голову.
Ответы (1 шт):
Автор решения: Yaroslav
→ Ссылка
Сравнить расстоянии горизонтали и вертикали относительно мыши...
Vector2 MousePos = other.gameObject.transform.localPosition;
Vector2 HeroPos = gameObject.gameObject.transform.localPosition;
Vector2 DeltaPos = MousePos-HeroPos;
if (Mathf.Abs(DeltaPos.y) > Mathf.Abs(DeltaPos.x) && HeroPos.y > MousePos.y) {
// Dead Mouse
} else {
// Dead Hero
}