2015-08-27 4 views
-1

Я просто возился в комплекте спрайтов, работая над своими навыками разработки игр, и я наткнулся на то, что я не знаю, как это сделать. То есть сила тяжести в области физики больше похожа на гравитацию Луны. У меня есть SKSpriteNode, который является красным шаром, и я могу перетащить этот мяч и щелкнуть туда, куда захочу. То, что я хотел создать, - это нечто вроде метательного механизма. Возможно ли это с одной линией мирового гравитационного кода? Или это более подробно, это код, который у меня есть.SpriteKit Gravity

import SpriteKit 

class GameScene: SKScene { 

let redBall = SKSpriteNode(imageNamed: "redball") 


override func didMoveToView(view: SKView) { 
    let worldBorder = SKPhysicsBody(edgeLoopFromRect: self.frame) 
    self.physicsBody = worldBorder 
    self.physicsBody?.friction = 1 

    self.physicsWorld.gravity = CGVectorMake(0, -1) 

    redBall.position = CGPoint(x:250,y:50) 
    addChild(redBall) 
    redBall.physicsBody = SKPhysicsBody(circleOfRadius: redBall.size.width/2) 

} 

override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) { 
    let touch = touches.first as! UITouch 
    let location = touch.locationInNode(self) 
    redBall.position = location 
} 
override func touchesMoved(touches: Set<NSObject>, withEvent event: UIEvent) { 
    let touch = touches.first as! UITouch 
    let location = touch.locationInNode(self) 
    redBall.position = location 
} 

override func update(currentTime: CFTimeInterval) { 
    /* Called before each frame is rendered */ 
} 

}

Моя состояние игры прямо сейчас, когда я перетащить мяч туда, куда я хочу, и выпустить его только капли. То, что я хочу выполнить, - это, например, если я хватаю мяч и перетаскиваю и направо, я хочу, чтобы мяч следовал за моим направлением, когда я его выпустил. Как я могу создать это в своем коде, спасибо!

+2

Может быть что-то, как это может помочь: http://stackoverflow.com/a/28259980/3402095 – Whirlwind

ответ

0

В моем коде все, что я делаю, это self.physicsworld.gravity = CGVectorMake (0, 0) (это полностью отключит гравитацию). Затем просто общайтесь с этим вектором и найдите что-то похожее на гравитацию Луны.

Вы, возможно, придется сделать вашу игру сцена быть SKPhysicsContactDelegate