在我的主应用程序中,我正在尝试使用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()
}
答案 0 :(得分:0)
我猜它会崩溃,因为你多次向父母添加标签(无论你调用什么函数,你的if条件都被破坏了,(touchesBegan
,touchesMoved
,{{ 1}})只有其中一个条件永远为真,在touchesEnded
和touchesBegan
中,你的力量总是> 0,在你的touchesMoved
中,你的力量应该是0。 (我将假设此代码是您的touchEnded
)而是在viewDidLoad代码中添加您的标签,并使用.hidden字段在您的移动中显示/隐藏您的标签。(确保在{{1隐藏它)