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

 
 
 
日一二三四五六
       
       
       
       
       
       

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

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

本吧签到人数:0

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

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

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

求助,真的求助

  • 只看楼主
  • 收藏

  • 回复
  • Kinzca_
  • Particle
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我用状态机做个一个敌人,并把它放在了预制体中
当场景中存在一个敌人时玩家攻击敌人,敌人死亡一切都很正常
但是出现两个敌人时,就发生问题了,我攻击第一个敌人第二个敌人受伤死亡,第一个敌人的所有反馈都反应在了第二个敌人上的。攻击第二个敌人,第二个敌人倒是正常的。
我想了很久
可能是和我所有的敌人都添加的一个FSM有关系,出现两个以上的敌人时,fsm就会更新但是我引用fsm的数值,都是直接通过单例EnemyFSM.instance.paramenter.(像这样引用的)。
我就尝试着改了一下(如下)这个扣血顺序不对的问题就解决了
但是这种问题存在挺多的,而且有的地方不太好修改,像下面这张图,这个我也尝试着改过,但是没成功
这里就是玩家的被击退方向,通过计算enemyFSM脚本中的target.position和attckPoint.position的坐标矢量差确定方向,但是这个fsm所指向的都是同一个脚本(特指挂载在敌人1上的脚本),玩家的击退方向也就是敌人1的反方向。上的扣血问题也大概是这个问题

如果要修改的话这里到底该如何修改好啊
还有一个,玩家的攻击检测同时检测到两个以上的敌人时,就会卡在下图的“将动画速度设为0“的代码上,虽然不知道是什么原因,但应该也和上面的有关
我也有问过GPT,好像是 说因为引用的是,enemyFSM.paramenter中的变量,而这个变量是全局变量,所以才会引发一系列的问题。吧u们我该怎么改啊,现在真的一头雾水了,先玩会歇歇了,头痛


  • happy水笔3
  • Texture
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
你这个看起来代码基础不是很好啊,要不去b站看看视频先按照视频做着看看吧


2025-07-22 11:23:52
广告
不感兴趣
开通SVIP免广告
  • NEKO电台
  • Script
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
其实我觉得楼主代码是自己写的话能把数据和Fsm逻辑分离开来说明水平还是挺不错的。但是不太明白怎么会使用单例去访问敌人数值


  • 贴吧用户_GGW31RP
  • Unitor
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
老哥你的fsm代码怎么写的贴出来看下。有一个问题,既然你的fsm脚本挂在敌人身上,可以在碰撞时获取到fsm的引用,那么为什么还要用instance来引用fsm呢,出bug的问题可能和这个有关吧


  • Kinzca_
  • Particle
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼




楼主是边学边做的,代码写得有点烂,各位指导一下吧


  • 贴吧用户_GGW31RP
  • Unitor
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
是这样的,你的instance是声明为static,这是共享的字段。当有两个敌人时,生成两个fsm类,这两个类在start函数中会依次执行instance=this,所以第二个类会把这个instance设置成自己。当你攻击第一个敌人时,第一个类调用instance这个共享的字段,此时他的值是第二个fsm类的引用,所以会出现第二个敌人扣血的情况。你第一张图的修改没用通过instance来引用fsm类而是直接用getcomponent来获取引用,所以避免了这种情况的发生。


  • CLOUD
  • Mesh
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
状态机和它关联的对象肯定不能是单例


登录百度账号

扫二维码下载贴吧客户端

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