在精灵套件中使用3D触摸来测量压力



在我的主应用程序中,我试图使用3D触摸来激活子弹射击,但结果似乎非常不一致,而且它并不总是给我写结果。当我使用这个代码时,我的iPhone 6S也崩溃了,这是我用来测试的代码。

 for touch in touches {
        let location = touch.locationInNode(self)
        var force =  touch.force * 10
        var maxForce = touch.maximumPossibleForce
        print ("The force is")
        print (maxForce*4)
        print (force*10000000)
        if force != 0{

            myLabel.text = "Force"
            myLabel.fontSize = 45
            myLabel.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame))
            self.addChild(myLabel)
            myLabel.zPosition = 100000

        }
        else {
           myLabel.removeFromParent()
        }

我猜它正在崩溃,因为你多次向父级添加标签(如果条件已破坏,无论你调用什么函数,(touchesBegantouchesMovedtouchesEnded),这些条件中只有一个始终为真,在touchesBegantouchesMoved中,你的力将始终>0,在touchEnded中,力应为0。(我假设这个代码是你的touchMoved)相反,在你的viewDidLoad代码中添加你的标签,并使用.hidden字段在你的移动中显示/隐藏你的标签。(确保在touchesEnded上隐藏它)

相关内容

  • 没有找到相关文章

最新更新