gamemaker吧 关注:13,603贴子:94,708
  • 4回复贴,共1

【求助】如何在物理房间内建立一个能参与碰撞的飘浮物体

只看楼主收藏回复

如何在物理房间内建立一个能参与碰撞的飘浮物体?
刚上手GMS2,遇到这么个问题,被困扰了好几天……
因为希望子弹水平飞行,于是把它和飘浮的敌人都设置密度为0,结果就无法检测碰撞了。
因为子弹可能会比较多,所以想把碰撞事件放在敌人上,指望这能算得上优化,结果就只能给敌人大于0的密度,然后就看他们唰得掉出屏幕外。
望各位大神慷慨解惑_(:з」∠)_


1楼2017-07-20 14:06回复
    试着在敌人对象的创建事件里新建了保存初始y坐标的变量,之后每个步事件里都把这变量的值赋给phy_position_y,但敌人对象还是会以非常缓慢的速度下沉……


    2楼2017-07-20 14:21
    收起回复
      如果你不是要非常精确的物理效果,没必要随意使用物理引擎。密度为0意味着质量无限大,要让密度为0的物体移动正常工作应设置其为Kinematic,并给其物理速度赋值。
      在物理世界中要使某个物体水平运动不受重力,应当考虑给其施加一个和设定的重力大小相同方向相反的力,而不是密度为0。以及无法检测碰撞是什么意思,不太懂。。
      从LZ的描述里并看不出一定要用物理引擎的地方,gm传统的坐标和运动系统看起来完全适用。以及物理引擎计算的开销是很大的,子弹这种东西数量一多对性能影响相当大。


      IP属地:上海来自Android客户端3楼2017-07-20 15:13
      收起回复