ios – SpriteKit节点坚持场景/不弹跳
发布时间:2020-12-15 01:41:16 所属栏目:百科 来源:网络整理
导读:我搜索过这个,我认为必须有一些参数来解决这个问题,但我没有找到它. 我在SpriteKit中有一个场景,我想要一些圈子/球反弹,并保持任何速度无限期.他们应该从现场的边缘反弹. 如果移动得足够快,或者以相当锐利的角度进行,这是正常的工作,但是如果速度变慢并且靠
我搜索过这个,我认为必须有一些参数来解决这个问题,但我没有找到它.
我在SpriteKit中有一个场景,我想要一些圈子/球反弹,并保持任何速度无限期.他们应该从现场的边缘反弹. 如果移动得足够快,或者以相当锐利的角度进行,这是正常的工作,但是如果速度变慢并且靠近边缘的飞机,它们会继续移动(这是很好的),但是他们“坚持”到边缘.这个粘贴是我不想要的.即使走得很慢也应该反弹. 为了设置边缘,我使用: SKPhysicsBody *borderBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:self.frame]; self.physicsBody = borderBody; self.physicsBody.friction = 0.0; self.physicsBody.restitution = 1.0; self.physicsBody.linerDamping = 0.0; self.physicsBody.angularDamping = 0.0; self.physicsBody.affectedByGravity = NO; 而在圆形节点上,我有类似的设置,如: ball.usesPresciseCollisionDetection = YES; ball.dynamic = YES; ball.restitution = 1.0; ball.linearDamping = 0.0; ball.angularDamping = 0.0; ball.friction = 0.0; 我在场景中的重力在零.我给节点增加了一个冲动,他们开始弹跳 – 似乎非常接近,随着物体反弹,但是如果有任何一个缓慢移动并以较浅的角度进入,他们“拥抱”边缘.我会尝试包括下面的图示来帮助可视化. http://i.imgur.com/Rpr7luY.png 我已经尝试玩很多PhysicsBody设置,但不能让事情停止粘贴. 谢谢! 解决方法
正如所提到的那样,this answer可以直观地被看作是朝着正确方向迈出的一步,但问题是整个SpriteKit物理引擎.这是非确定性的,分数在计算中丢失,造成不精确的模拟.
简单的答案是使用Box2D.黑客的答案是在相反的方向施加冲动. All details are highlighted in my other answer. @Jurik很高兴我可以帮忙:) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |