我创建了我的第一个简单的 IOS 游戏,并使用我的游戏创建了 gameLayer 图层以及带有恢复按钮/节点的暂停图层。在我的游戏层中,我有一个用于暂停游戏的按钮,在我的暂停层中有一个用于恢复的按钮/节点。我在我的函数中这样做,从touchesEnded函数获取点:
var ispaused = false
func touchend(atPoint pos : CGPoint) {
if ispaused == false && pausebutton.contains(pos) {
pauseLayer.isHidden = false
view?.isPaused = true
ispaused = true
}
if ispaused == true && resumebutton.contains(pos) {
pauseLayer.isHidden = true
view?.isPaused = false
ispaused = false
}
}
除了我看不到我的简历按钮之外,一切正常。我可以单击应该在的位置,然后游戏就会继续。但是,当我删除行 view?.isPaused = true
时,按钮会按应有的方式显示。
这让我想到暂停 View 也可能暂停加载/显示我的简历按钮的过程。如何避免这个问题?
最佳答案
好吧,测试一下你关于它加载速度不够快的理论。
您可以通过以下方式延迟代码执行:
let delayDuration:Double = 1.0 /* In seconds */
let totalDelayTime = DispatchTime.now() + delayDuration
DispatchQueue.main.asyncAfter(deadline: totalDelayTime, execute: { view?.isPaused = true })
在评估 view?.isPaused
之前会等待 1 秒
关于ios - Swift SpriteKit 层/节点加载速度不够快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45752175/