我有一个SKSpriteNode,它没有按预期移动:
在我的游戏场景中。swift
var ball = SKSpriteNode(imageNamed: "Sphere")
ball.position = CGPointMake(frame.size.width/2, frame.size.height/2)
ball.physicsBody?.dynamic = true
self.addChild(ball)
var impulse = CGVectorMake(0.5, 0.0)
ball.physicsBody?.applyImpulse(impulse)
现在,我可以看到屏幕中间的球体,但它并没有像预期的那样移动,为什么?
甚至没有:
ball.physicsBody?.affectedByGravity = true
感谢
首先,我必须检查PhysicsBody
是否已初始化-也许是可选的?拆封失败了。因此,在您的var球声明下面添加以下行:
ball.physicsBody = SKPhysicsBody(rectangleOfSize: ball.frame.size)
这可能不是理想的物理体型,但这应该允许你的球根据冲动移动。