Sprite Kit碰撞没有弹跳

bja*_*neS 4 physics collision ios sprite-kit

我设置了一个英雄和一些从顶部向下移动的平台.有了这些,我有collisionBitMasks,可以检测英雄何时登陆平台,如果英雄来自上方(让英雄跳过平台)

if (_hero.physicsBody.velocity.dy > 0) {
                            _hero.physicsBody.collisionBitMask = 0;
                        }
                        else {_hero.physicsBody.collisionBitMask = platformCategory;
                                }
Run Code Online (Sandbox Code Playgroud)

一切都很好,除了英雄在平台上弹跳.当平台向下移动时,有没有办法让他坐在上面?

我试着用physicsBody.restingphysicsBody.friction,但没有成功.

谢谢你的帮助

jbo*_*boi 6

一分钟前也有同样的问题.它适用于设置,restitution但您需要设置两个恢复.英雄和其中一个平台(或者在我的情况下是场景边界).

所以:

hero.physicsBody.collisionBitMask = platformCategory
hero.physicsBody.restitution = 0.0
platform.physicsBody.restitution = 0.0
any_other_object_that_should_still_bounce.physicsBody.restitution = 1.0
Run Code Online (Sandbox Code Playgroud)

会做的.只要您设置了屏幕上的所有其他对象,它们仍会在平台上反弹restitution > 0