SpriteKit携帯ゲームロッカーJoyStickの使用--by iFIEROゲーム開発チュートリアル


仕事をして善いことをしようとすると,必ず先にその器を利する。


第三者ライブラリの応用方法を学ぶことは非常に重要です.私たちは自分で車輪を繰り返す必要はありません.ここでは、重力誘導を利用して飛行機を操作していた飛行機をゲームロッカーjoystickで操作するように変更しました.具体的な操作は以下の通りです.
  //  ;
   private var joystick:AnalogJoystick!  //  ; 

関数を作成し、ゲームロッカーノードを新規作成し、GameSceneに追加
 //MARK:-//  
    func createJoyStick(){
        joystick = AnalogJoystick(diameter: CGFloat(250.0)) //  
        joystick.stick.image = UIImage(named: "jStick")  //  
        joystick.substrate.image = UIImage(named: "jSubstrate")  //  
        joystick.zPosition = 1 
        joystick.position = CGPoint(x: -380.0, y: -720.0)
        self.addChild(joystick)
        joystick.alpha = 0.8
        //  
        joystick.beginHandler = { [unowned self] in
            guard let sprite = self.playerNode else {
                return
            }
            print("begin",sprite);
        }
        //  
        joystick.trackingHandler = {[unowned self] data in
            guard let sprite = self.playerNode else {
                return
            }
            let x = data.velocity.x * 0.12
            let y = data.velocity.y * 0.12
            let xPos = sprite.position.x + x
            let yPos = sprite.position.y + y
            sprite.position = CGPoint(x: xPos, y: yPos)  //  
            //sprite.zRotation = data.angular //  ;
        }
        //  ;
        joystick.stopHandler = { [unowned self]  in
            guard let sprite = self.playerNode else {
                return
            }
            print("stop",sprite);
        }
    }

オーバーライドfunc didMove(to view:SKView){}にロッカー関数を追加
 //  
 override func didMove(to view: SKView) {
      createJoyStick()
}

上のステップだけで、クールなゲームロッカーを追加できます.簡単です!!!
ゲーム教育:http://www.iFIERO.comソースゲート:https://github.com/apiapia/SpaceBattleSpriteKitGame