ios – SpriteKit节点坚持场景不d跳

ios – SpriteKit节点坚持场景不d跳,第1张

概述我搜索过这个,我认为必须有一些参数来解决这个问题,但我没有找到它. 我在SpriteKit中有一个场景,我想要一些圈子/球反d,并保持任何速度无限期.他们应该从现场的边缘反d. 如果移动得足够快,或者以相当锐利的角度进行,这是正常的工作,但是如果速度变慢并且靠近边缘的飞机,它们会继续移动(这是很好的),但是他们“坚持”到边缘.这个粘贴是我不想要的.即使走得很慢也应该反d. 为了设置边缘,我使用: 我搜索过这个,我认为必须有一些参数来解决这个问题,但我没有找到它.

我在SpriteKit中有一个场景,我想要一些圈子/球反d,并保持任何速度无限期.他们应该从现场的边缘反d.

如果移动得足够快,或者以相当锐利的角度进行,这是正常的工作,但是如果速度变慢并且靠近边缘的飞机,它们会继续移动(这是很好的),但是他们“坚持”到边缘.这个粘贴是我不想要的.即使走得很慢也应该反d.

为了设置边缘,我使用:

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;

我在场景中的重力在零.我给节点增加了一个冲动,他们开始d跳 – 似乎非常接近,随着物体反d,但是如果有任何一个缓慢移动并以较浅的角度进入,他们“拥抱”边缘.我会尝试包括下面的图示来帮助可视化.

http://i.imgur.com/Rpr7luY.png

我已经尝试玩很多PhysicsBody设置,但不能让事情停止粘贴.

谢谢!

解决方法 正如所提到的那样,this answer可以直观地被看作是朝着正确方向迈出的一步,但问题是整个SpriteKit物理引擎.这是非确定性的,分数在计算中丢失,造成不精确的模拟.

简单的答案是使用Box2D.黑客的答案是在相反的方向施加冲动.

All details are highlighted in my other answer.

@Jurik很高兴我可以帮忙:)

总结

以上是内存溢出为你收集整理的ios – SpriteKit节点坚持场景/不d跳全部内容,希望文章能够帮你解决ios – SpriteKit节点坚持场景/不d跳所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1065515.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存