项目里需要攻击时进行范围内是否有敌人的检测。
有两种方式可以检测
1:一种是在攻击时添加一个碰撞体,然后瞬间删除,通过碰撞来检测范围内是否有敌人存在。
2:另一种是通过算法来实现,通过怪物的位置来判断是否在攻击范围内。
项目为锁视角2D游戏。因此我需要一个椭圆形的范围,椭圆形的y轴半径是x轴半径的1/2.又因为要做的是普通攻击,所以只需要左侧和右侧的半个椭圆就可以。
- 椭圆形绘制
float angle = 90;//画线的起始角度
for (int i = 0; i < 11; i++) //10*18+18 18°一条线,首尾共11条
{
float hudu = (angle / 180) * Mathf.PI ;
float xx = transform.position.x + 10f * Mathf