Justin Yu
Justin Yu

Reputation: 11

Moving a Sprite Swift

What I'm trying to do is moving a sprite in a random direction or a random point and have it continue moving - with the affects of physics. I tried moving a sprite to a random point and although it worked, it just stopped if the random point was in the middle of the screen. I'm just hoping for the basics so any code/help from someone would be helpful. Also if you think theres a post already on this, can you list the hyperlink? I spent some time researching and I couldn't figure it out. Thanks in advance!

Upvotes: 1

Views: 54

Answers (1)

ybakos
ybakos

Reputation: 8630

See SKPhysicsBody and methods like applyImpulse.

In short, you create and configure an SKPhysicsBody; assign it to the sprite; and then apply force vectors to the body. Procedural example:

let sprite = SKShapeNode(circleOfRadius: 10)
sprite.physicsBody = SKPhysicsBody(circleOfRadius: 10)
sprite.physicsBody.friction = 0.2
sprite.physicsBody.restitution = 0.75
sprite.physicsBody.mass = 0.5
sprite.physicsBody.applyImpulse(CGVector(1, 1))

Much of this you can configure declaratively, rather than procedurally, with the SpriteKit scene editor in Xcode.

Upvotes: 1

Related Questions