让所有敌人在 unity 2d 中攻击对撞机内的玩家
Getting all enemies to attack the player inside a collider in unity 2d
我正在使用 Unity 2D 制作游戏。所以这是我的问题,如果玩家触发对撞机(大区域),我如何让对撞机内的所有敌方游戏对象攻击玩家?
我想做,但我不知道怎么做。
void OnTriggerEnter2D(Collider2D other)
{
//all enemies inside this collider attack the player
}
有人可以帮助我吗?
使用OverlapAreaAll获得一个区域内的所有敌人。
public LayerMask enemyLayerMask;
private void OnTriggerEnter2D(Collider2D other)
{
Collider2D thisCollider = GetComponent<Collider2D>();
Collider2D[] enemyColliders = Physics2D.OverlapAreaAll(thisCollider.bounds.min, thisCollider.bounds.max, enemyLayerMask);
foreach(Collider2D enemyCol in enemyColliders)
{
Enemy enemy = enemyCol.gameObject.GetComponent<Enemy>();
if (enemy != null)
{
enemy.AttackPlayer();
}
}
}
我正在使用 Unity 2D 制作游戏。所以这是我的问题,如果玩家触发对撞机(大区域),我如何让对撞机内的所有敌方游戏对象攻击玩家?
我想做,但我不知道怎么做。
void OnTriggerEnter2D(Collider2D other)
{
//all enemies inside this collider attack the player
}
有人可以帮助我吗?
使用OverlapAreaAll获得一个区域内的所有敌人。
public LayerMask enemyLayerMask;
private void OnTriggerEnter2D(Collider2D other)
{
Collider2D thisCollider = GetComponent<Collider2D>();
Collider2D[] enemyColliders = Physics2D.OverlapAreaAll(thisCollider.bounds.min, thisCollider.bounds.max, enemyLayerMask);
foreach(Collider2D enemyCol in enemyColliders)
{
Enemy enemy = enemyCol.gameObject.GetComponent<Enemy>();
if (enemy != null)
{
enemy.AttackPlayer();
}
}
}