Il mio obiettivo è quello di avere "orbita" di FirstBody prima con una velocità costante (500 in questo caso).Velocità orbita costante intorno al punto con SKNode
Sulla base di Constant movement in SpriteKit Ho implementato il seguente:
override func didMoveToView(view: SKView) {
physicsWorld.gravity = CGVector(dx: 0, dy: 0)
let firstNode = SKShapeNode(circleOfRadius: 10)
addChild(firstNode)
firstNode.position = CGPointMake(CGRectGetWidth(frame)/2.0, CGRectGetHeight(frame)/2.0)
let firstPhysicsBody = SKPhysicsBody(circleOfRadius: 10)
firstPhysicsBody.dynamic = false
firstNode.physicsBody = firstPhysicsBody
let secondNode = SKShapeNode(circleOfRadius: 10)
addChild(secondNode)
secondNode.position = CGPointMake(CGRectGetWidth(frame)/2.0 + 40, CGRectGetHeight(frame)/2.0 + 40)
let secondPhysicsBody = SKPhysicsBody(circleOfRadius: 10)
secondPhysicsBody.friction = 0
secondPhysicsBody.linearDamping = 0
secondPhysicsBody.angularDamping = 0
secondPhysicsBody.affectedByGravity = false
secondNode.physicsBody = secondPhysicsBody
let joint = SKPhysicsJointPin.jointWithBodyA(firstPhysicsBody, bodyB: secondPhysicsBody, anchor: firstNode.position)
joint.frictionTorque = 0
physicsWorld.addJoint(joint)
secondPhysicsBody.velocity = CGVector(dx: 0, dy: 500)
}
Il problema che sto avendo è che secondNode sta rallentando col passare del tempo. Si noterà che mi pongo ogni sorta di cose come gravity
su SKPhysicsWorld
, friction
linearDamping
& angularDamping
su SKPhysicsBody
e frictionTorque
su SKPhysicsJoint
.
Quindi, cosa sto sbagliando? E come posso mantenere costante la velocità del secondo nodo senza fare calcoli orribili in -update
?
Inoltre, sono consapevole che posso aggiungere SKAction per seguire un percorso circolare, ma in questo caso non è una soluzione ragionevole.
Se c'è qualcosa di semplice che mi sfugge, potresti anche consigliare quali degli "0" e "falsi" che sto impostando possono essere rimossi.
Grazie
Non ho familiarità con Swift ma perché non controllate e regolate, se necessario, la velocità di dy nel metodo di aggiornamento? – sangony
Sembra che tutti quelli con cui parlo di questo suggeriscano lo stesso. Sentivo che questo era un po 'un trucco e dovevo fare affidamento sul motore fisico per fare il sollevamento pesante ma sembra che non dovrei fidarmi di quanto ero disposto a ... –