查找符合半径范围内的精灵

Collider2D[] enemies = Physics2D.OverlapCircleAll(transform.position, bombRadius, 1 << LayerMask.NameToLayer("Enemies"));

// For each collider...

foreach(Collider2D en in enemies)

{

// Check if it has a rigidbody (since there is only one per enemy, on the parent).

Rigidbody2D rb = en.rigidbody2D;

if(rb != null && rb.tag == "Enemy")

{

// Find the Enemy script and set the enemy's health to zero.

rb.gameObject.GetComponent().HP = 0;

// Find a vector from the bomb to the enemy.

Vector3 deltaPos = rb.transform.position - transform.position;

// Apply a force in this direction with a magnitude of bombForce.

Vector3 force = deltaPos.normalized * bombForce;

rb.AddForce(force);

}

}

//查找符合范围的所有精灵,主要使用OverlapCircleAll,其中bombRadius是半径范围,1 << LayerMask.NameToLayer("Enemies")查找在Enemies的层

你可能感兴趣的:(Unity3D)