2017-07-26 56 views
0

有没有人有任何指导如何创建一个SpriteKit对象,看起来像一个圆形物理属性的圆?我已经考虑过使用SKShapeNode,但在阅读了这样的文档之后,“SKSpriteNode类提供了比这个类更高的性能,所以请谨慎使用形状节点”这里https://developer.apple.com/documentation/spritekit/skshapenode,我不愿意使用SKShapeNode。SKSpriteNode或SKShapeNode for Circular Object

我有代码从形象,使它看起来像一个圆圈创建SKSpriteNode ...

sprite = SKSpriteNode(imageNamed:spriteImage) 

...我已经应用了圆形物理身体......

sprite.physicsBody = SKPhysicsBody(circleOfRadius: (width/2)) 

我设置如allowrotation,affectedbygravity和isDynamic在物理身体真正的属性...

physics = sprite.physicsBody 
physics.affectedByGravity = true 
physics.allowsRotation = true 
physics.isDynamic = true 

圆SKSpriteNode仍表现得像一个正方形。物体不像像轮子一样滚动,而是像方形一样跳动。

+0

当你说它不像滚轮一样滚动时,你如何试图移动它? –

+0

运动来自重力。由于SKSpriteNode有一个圆形的物理体,当它放置在一个固定的物体上(即不受重力影响等)时,我认为它会像轮子一样向下滚动。现在它不会滚动。它仍然表现得像一个正方形。我知道它的行为像一个正方形,因为我可以将它放在另一个角度为正方形的SKSpriteNode的顶部,但为了使它旋转,我必须将它的一部分悬挂在侧面,以便重力旋转它。随着它的角度,一个圆圈就会滚动。如果绘图能够帮助,我可以做到。 – dadrad

+0

因此它沿着斜坡向下滑动而不是滚动? –

回答

0

cc是正确的。原来的物理体被设置为一个圆,然后在代码中的某个时刻,物理体被重新变成了一个正方形。我修复了部分代码,现在它正在工作。谢谢!