如何阻止精灵从特定表面反弹
How to stop a sprite from bouncing off a specific surface
你好,我正在制作一个无尽的滚动游戏,角色基本上可以避开障碍物,他可以跳过它们。我让一切都运行良好,但我看到角色纹理在撞到地面后会轻微反弹。我希望精灵在着陆后立即停止。我尝试将 .restitution 属性 设置为 0,但我仍然看到它在弹跳。这是我的火柴人角色和相关边缘物理类别的设置代码
stickman.physicsBody?.dynamic = true
stickman.physicsBody?.allowsRotation = false
stickman.physicsBody?.usesPreciseCollisionDetection = true
stickman.physicsBody?.categoryBitMask = PhysicsCategory.Stickman
stickman.physicsBody?.collisionBitMask = PhysicsCategory.Edge
stickman.physicsBody?.contactTestBitMask = PhysicsCategory.Obstacle | PhysicsCategory.Edge
stickman.physicsBody?.restitution = 0
self.physicsWorld.gravity = CGVector(dx: 0, dy: -9.8)
physicsBody = SKPhysicsBody(edgeLoopFromRect: playableRect)
physicsWorld.contactDelegate = self
physicsBody?.categoryBitMask = PhysicsCategory.Edge
其中可播放矩形只是通用部署目的的屏幕边界。
有没有人运行遇到过这个问题。我在其他帖子中找不到同样的问题。
将您的精灵 运行 的物理体的 restitution
也设置为 0
。物理碰撞中的两个物理体都需要恢复为 0 才能导致没有弹性。
你好,我正在制作一个无尽的滚动游戏,角色基本上可以避开障碍物,他可以跳过它们。我让一切都运行良好,但我看到角色纹理在撞到地面后会轻微反弹。我希望精灵在着陆后立即停止。我尝试将 .restitution 属性 设置为 0,但我仍然看到它在弹跳。这是我的火柴人角色和相关边缘物理类别的设置代码
stickman.physicsBody?.dynamic = true
stickman.physicsBody?.allowsRotation = false
stickman.physicsBody?.usesPreciseCollisionDetection = true
stickman.physicsBody?.categoryBitMask = PhysicsCategory.Stickman
stickman.physicsBody?.collisionBitMask = PhysicsCategory.Edge
stickman.physicsBody?.contactTestBitMask = PhysicsCategory.Obstacle | PhysicsCategory.Edge
stickman.physicsBody?.restitution = 0
self.physicsWorld.gravity = CGVector(dx: 0, dy: -9.8)
physicsBody = SKPhysicsBody(edgeLoopFromRect: playableRect)
physicsWorld.contactDelegate = self
physicsBody?.categoryBitMask = PhysicsCategory.Edge
其中可播放矩形只是通用部署目的的屏幕边界。
有没有人运行遇到过这个问题。我在其他帖子中找不到同样的问题。
将您的精灵 运行 的物理体的 restitution
也设置为 0
。物理碰撞中的两个物理体都需要恢复为 0 才能导致没有弹性。