永发信息网

GameMaker为何在一个运动的object和另一个静止的object(均为非solid)的碰

答案:2  悬赏:80  手机版
解决时间 2021-12-22 03:00
Game Maker为何在一个运动的object和另一个静止的object(均为非solid)的碰撞事件中使用反弹动作,可是碰撞时二者都只会停下?
最佳答案
这种情况的成因比较多,最可能的一种情况是你的碰撞盒形状过于复杂,导致两个物体卡住而致。对于两个实例相互碰撞,如果其中一个没有速度,那么这个物体在反弹之中不会改变运动状态,因此静止物体不动是正常的,而运动实例碰撞的时候没有受到阻碍(即正常弹回)的时候,他应该沿着反弹后的方向继续运动下去,但是有些时候碰撞会发生一些问题,导致两个物体死死的卡在一起,那么他就会停下。


卡住一般都是在开启精确碰撞的时候容易产生的问题,因此在使用精确碰撞的时候需注意以下问题:
1. 如果两个物体都在运动,卡住的几率会增大
2. 物体运动速度会影响碰撞的精度,比如当你用速度为10的物体碰撞和速度为3的同种物体分别同方向同作用点地碰撞同一个物体的反弹方向是不一样的。而过快的物体可能会发生碰撞忽略(Collision Ignorance)的情况,因为GameMaker的速度系统是基于步的支持下,一步内的位置变化是不会考虑的,当物体速度过快的时候,两步的位移恰好跨越了被碰撞体,这时碰撞将不会发生,两者的运动状态彼此也不受到干扰
3. 形状过于复杂的碰撞盒(或者叫做碰撞笼罩)对于碰撞计算是非常不利的,因此,这种精灵尽量不要为其开启精确的反弹效果,因为复杂的碰撞盒会增大两物体碰撞后卡滞的几率,如必须使用精确碰撞和精确反弹,你可以利用新精灵来简化当前精灵的轮廓并调用新精灵的碰撞笼罩以减轻碰撞计算的压力
4. 在一些情况下,正确地使用move_outside_solid、move_outside_all、move_contact_solid、move_contact_all函数可以有效防止卡滞情况发生。



望采纳,GameMaker吧为您服务
全部回答
搜一下:Game Maker为何在一个运动的object和另一个静止的object(均为非solid)的碰
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
平时吃的桂圆与桂花树是什么关系?
我喜欢音乐并且热爱生活用英语怎么说
宋河烧坊多少钱一瓶
第三部分:阅读理解(共20小题;每小题3分,
思念家乡的文章摘抄(400字)
怎么能看到朋友圈访客
下列经济现象与经济生活道理对应正确的是A.
员工试用期内要交住房公积金吗?
恩平市宠物店哪里有?
物业代收电费增加税费合理吗
填空题放射性同位素主要应用它的________,以
网上订的动车票数量是全部动车票的数量吗
孔夫子旧书网如何付款
猪用食槽一般都有什么材质
下列事件中为必然事件的是A.投掷一枚正方体骰
推荐资讯
完形填空(共20小题;每小题1.5分,满分30分
我有50万个人存款怎样理财
人中上有横纹,是否代表女人出轨,可靠吗
单选题Nancyfeltunhappy________hermath
单选题下列事例中,其目的是为了增大压强的是
客厅用瓷砖背景墙好吗
单选题《马关条约》给近代中国带来严重危害,
When was you last met Jennifer? I haven’
“刑天舞干戚”是什么意思?
把一根长绳剪成4根,需要9秒钟,照这样的速度
武穴市交警大队一中队地址在什么地方?想过去
大米有霉味怎么办
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?