我在Unity 2D中制作游戏。所以这就是我的问题,如果玩家触发对撞机(大区域),如何让对手内的所有敌人游戏对象攻击玩家?
我想让它变得像,但我不知道如何。
return (
<div>
{
this.state.houses.map(item =>
<div>
<h2>{item.name}</h2>
<p>{item.description}</p>
<ul>
{
item.photos.map(photo => <li>{photo}</li>)
}
</ul>
</div>
)}
</div>
)
有人可以帮帮我吗?
答案 0 :(得分:0)
使用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();
}
}
}