美文网首页iOS Developer
模仿王者荣耀 login 页面

模仿王者荣耀 login 页面

作者: Heikki_ | 来源:发表于2017-03-24 10:59 被阅读383次

    利用陀螺仪模仿王者荣耀的登陆页面,倾斜屏幕时,英雄图片会移动.
    (我猜的...也可能是用了更牛逼的技术)
    王者荣耀中,应该使用了多个层级,我这里只做一层

    import CoreMotion
    
        //全局设置
        @IBOutlet weak var backImageView: UIImageView!
        @IBOutlet weak var suoluoRight: NSLayoutConstraint!
        @IBOutlet weak var suoluoTop: NSLayoutConstraint!
        @IBOutlet weak var imageView2: UIImageView!
        //全局引用 manager
        var manager = CMMotionManager()
        //最大可偏移的矢量
        let factor:CGFloat = 30.0
    
        override func viewDidLoad() {
            super.viewDidLoad()
            //初始化全局管理对象
            let motionManager = CMMotionManager()
            //全局引用 manager 防止销毁
            manager = motionManager
            //判断陀螺仪可不可以,判断陀螺仪是不是开启
            if manager .isGyroAvailable {
                let queue = OperationQueue.main
              //调用频率          
                manager.gyroUpdateInterval = 0.1
                manager.startDeviceMotionUpdates(to: queue, withHandler: { (motion, error) in
                    let x = motion?.gravity.x
                    let y = motion?.gravity.y
                    let z = motion?.gravity.z
                    //因为,我们不清楚用户使用怎样的姿势,进入游戏,如果一上来就让图片显示,在获取到角度后,图片会有一段"大跳",对,像范厨师那样
                    if self.imageView2.image == nil{
                    self.imageView2.image = UIImage(named: "索罗")
                    }
                    print("x---",x!,"y----",y!,"z-----",z!);
                    //倾斜的角度 这里使用的是 负
                    let fx = -CGFloat(x!)
                    let fy = -CGFloat(y!)
                     //更改约束的
                    self.suoluoTop.constant = fx * self.factor
                    self.suoluoRight.constant = fy * self.factor
                })
            }
        }
    

    相关文章

      网友评论

        本文标题:模仿王者荣耀 login 页面

        本文链接:https://www.haomeiwen.com/subject/nqgxottx.html