ios 雪碧套装

unhi4e5o  于 12个月前  发布在  iOS
关注(0)|答案(5)|浏览(98)

我只是好奇Sprite Kit Rescue实际上配置了什么?我知道它配置了一些关于SKPhysicsBody参数的行为,但是这些行为有什么不同呢?

oxosxuxt

oxosxuxt1#

查看Apple文档中SKPhysicsBodyrestitution属性的描述:
此属性用于确定物理体从另一个物体反弹时损失多少能量。此属性必须是0.0和1.0之间的值。
恢复影响物理体的“弹性”。例如,一个节点以(0,-100)的速度与地板碰撞(你已经定义了一个physicsBody)。它对碰撞的React将取决于restitution属性。所以,如果restitution设置为1.0,速度将变为(0,100),如果restitution设置为0.9,速度将变为(0,90),等等

7bsow1i6

7bsow1i62#

iOS Games by Tutorials中,SpriteKit SKPhysicsBody的恢复定义如下:
一种描述一个物体从另一个物体反弹时保留多少能量的属性,基本上是“反弹”的一种奇特的说法。
另请参阅iOS开发人员库(Apple Developer Library)的摘录
此属性用于确定物理体从另一个对象反弹时损失多少能量。此属性必须是0.0和1.0之间的值。默认值为0.2。
另外请注意,如果你提供的值超出了(0.0到1.0)的范围,编译器不会抱怨;但是,想想如果值大于1,这意味着什么。物体实际上会以比最初更多的能量结束碰撞。这不是很现实的行为,通常会很快破坏你的物理模拟。

bis0qfac

bis0qfac3#

Rescue设置对象的反弹,如果设置为1.0f,碰撞将以与撞击相同的力反弹回来。如果设置为0.0f,则根本不会反弹。

f2uvfpb9

f2uvfpb94#

呼吸基本上等同于一个物体的“弹性”

n7taea2i

n7taea2i5#

在Sprite-kit中,如同在真实的生活中一样,restitution是可以通过将碰撞后两个对象之间的相对速度除以碰撞前两个对象之间的相对速度来获得的值

e = relative speed after collision / relative speed before collision

字符串
这个值能够让我们知道碰撞的反弹或弹性水平。
我们可以区分三种不同的情况来区分这个值。

  • 第一种情况是没有动能的分散,我们也可以称这种情况为“完全弹性碰撞”,其中有很高的反弹百分比,我们可以用值e = 1来测量恢复力。
  • 第二种情况发生在最大的运动(动能)完全失去时,然后我们有“非弹性碰撞”,碰撞的物体保持粘在一起并一起运动。
  • 最后一种情况涉及大多数碰撞或所有这些情况,其中值为0和1之间的e,或在中间。它本质上是非弹性碰撞,其中一点动能被分散。实际上,Sprite-kit physicsBody restitution默认值为0.2

相关问题