最近在做一个打砖块的游戏,其实遇到发射炸弹,然后炸掉一个范围内的物体的问题。
现在将我的做法记录下来,以备日后使用。
using UnityEngine;
using System.Collections;
public class BombControl : MonoBehaviour {
public GameObject explosion;//爆炸效果的引用,这里我用的是从网上下载的Prefab
public float radius=3F;//爆炸范围的半径
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
//如果炸弹没爆炸,则当炸弹的位置低于-4的时候,自动销毁炸弹
if (this.gameObject.transform.position.y < -4) {
Destroy(this.gameObject);
}
}
void OnCollisionEnter2D(Collision2D col){
string tag = col.gameObject.tag;
//如果炸弹撞到砖块(这里我将砖块分为block_general,block_reward,block_move,block_firm)或者墙体(TopWall,Wall)
if (tag == "block_fixed" || tag == "block_general" || tag == "block_reward" || tag == "block_move" || tag == "blo