为了账号安全,请及时绑定邮箱和手机立即绑定

SpriteKit手机游戏摇杆JoyStick的使用 -- by iFIERO游戏开发教程

标签:
Java

webp

joystick

工欲善其事,必先利其器

有时候学习如何应用第三方库是非常重要的,因为我们不用再自己重复造轮子,在这里,我们就把原先利用重力感应来操控飞机改为用游戏摇杆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);
        }
    }

在 override func didMove(to view: SKView) {}内加入摇杆函数

 // 游戏手柄开始
 override func didMove(to view: SKView) {
      createJoyStick()
}

只需要上面这几步,就可以添加酷酷的游戏摇杆了,就这么简单!!!



作者:布袋的世界
链接:https://www.jianshu.com/p/68841af0be82


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消