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

 
 
 
日一二三四五六
       
       
       
       
       
       

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

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

本吧签到人数:0

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

  • 图片

  • 吧主推荐

  • 游戏

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

求助求助!关于物理体碰撞的问题

  • 只看楼主
  • 收藏

  • 回复
  • 水蓝蓝
  • GDScript
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
现在我使用的是rigidbody2d制作子弹然后通过apply_impulse给子弹施加冲量推动他(因为直接用move_and_collide函数会导致_on_body_entered在某些时候失效具体原因不明,然后我想尝试使用rigidbody2d实现子弹效果而不是area2d也是因为rigidbody2d更适合做物理碰撞的交互,我希望子弹能够反弹也能够推动击退敌人)接着按道理说characterbody2d是不会受到物理影响的(官方说明书里写的)然后我在使用characterbody2d节点的怪物中的_physics_process函数中使用move_and_collide函数后,被子弹击中的怪物会被子弹击退,在不使用move_and_collide函数后又不会被子弹击退。综上我一共有两个问题
一 子弹,怪物这些适合什么样的节点,尤其是子弹需要实现穿透反弹击退,怪物需要实现复杂移动,追踪,冲刺等物理效果时
二 为什么本应该不会受到物理影响的characterbody2d节点却受到了子弹施加的冲量这背后的原因是什么呢@人类的大敌


  • 人类的大敌
  • 吧主
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
既然@了我,那我也来表示一下:其实也不是什么最佳实践的问题,都是经验论,
-
一、适合任意节点(虽然这么写肯定会对Timer或者CanvasLayer之类的“无画面”节点产生疑惑。但实际上任意节点都可以调用RenderingServer来产生图像)这是因为不同的节点的本质只是封装了一些方便调用的方法。如果自定义的需求越强,那么试图找到一个完全满足需求的节点的可能性就越低。使用物理节点的理由,只有可能是为了调用内置的碰撞检测方法(以节省重复造轮子的时间)但实际上,碰撞检测是可以自己实现的……也就是程序开发领域常说的“重复造轮子”,面对拥有更复杂需求的项目(例如有更具体的自主调整细节的需求)需要面临自己实现各项功能的情况的概率就越多。二、CharacterBody2D在文档里描述的“不会受到物理影响”其实是官方文档的问题(官方文档的描述不完整)更加近似的描述是:在不使用move_and_slide()以及在使用move_and_collide()时第二项参数为true的情况下,才不会受到物理影响。如上面的截图图所示(第一张截图实际上展示了官方文档的前后矛盾,因为1楼提到的“不受物理影响”这个描述就出自这部分的文档,结果下面就又写个“会受对方运动的影响”,官方文档出现这样的问题确实会导致一些困惑)


登录百度账号

扫二维码下载贴吧客户端

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