最近在做一个打砖块的游戏,其实遇到发射炸弹,然后炸掉一个范围内的物体的问题。
现在将我的做法记录下来,以备日后使用。
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 == "block_firm" || tag=="TopWall" || tag=="Wall") {
//实例化一个爆炸效果
Instantiate(explosion,gameObject.transform.position,Quaternion.identity);
//获得以炸弹为中心的一定范围内的所有对象
Collider2D[] colli

本文介绍了在Unity 2D环境中制作炸弹爆炸效果的步骤,通过C#编程实现爆炸并销毁范围内物体的功能,适用于2D游戏开发。
183

被折叠的 条评论
为什么被折叠?



