网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月16日漏签0天
unity3d吧 关注:116,400贴子:560,814
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 16回复贴,共1页
<<返回unity3d吧
>0< 加载中...

求教~场景中的范围伤害

  • 只看楼主
  • 收藏

  • 回复
  • 假god
  • Script
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
在一个场景中,有不断生成的敌人,那如果我有一发炮弹落下爆炸,那爆炸的范围伤害应该怎么写呢??我目前的写法是,在爆炸的脚本里把场景里的每一个敌人加入数组,然后判断每一个敌人与爆炸的距离,小于范围的执行敌人里的damage方法,但我总觉得这样不够好啊,有大侠有更好的办法吗??


  • 假god
  • Script
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
场景里每个敌人加入数组使用find来写的。。。感觉狠影响效率啊!


2025-07-16 03:36:03
广告
  • 老衲和妳拼了
  • Particle
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
不管怎么样都是得判断距离的吧 感觉方法都大同小异 楼主用的方法我觉得很好了


  • 13471713164
  • Script
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
没办法,一定要搜素全部敌人,可以动态建立储存的敌人,每次有新的一波敌人就刷新储存区,如果是一个一个无尽的话,就动态添加进储存区,死亡就在储存区减去


  • jinngoo
  • Shader
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
爆炸点new一个obj,加球形碰撞器,碰撞检测谁在范围内


  • cgye521
  • Material
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
用射线也是一个办法,但是没有用循环怪物列表性能好(个人觉得也比碰撞检测性能好),你只要把稍微修改下就行了。
1:建立一个怪物列表,我一般用的List
2:创建怪物时,将这个怪物add到列表中
3:怪物死亡时,从怪物列表中remove
这样你就不用find了
补上用射线的方式:
float explosionRadius = 0.4f;//爆炸半径
Collider[] collider = Physics.OverlapSphere(transform.position, explosionRadius);
foreach (Collider col in collider)
{
}


  • For_177
  • Unitor
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
up


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 16回复贴,共1页
<<返回unity3d吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示