我正在尝试制作第二个在 GameScene.update() 中运行的计数器,并在我按下一个按钮最多 5 秒时进行计数,然后停止并重置为 0 等待另一个按钮按下。
这是我的如果按钮被按下的代码:
override func update(currentTime: CFTimeInterval) {
if (Data.gameScene.buttonPressed == true) {
player.texture = SKTexture(imageNamed: "Spaceship2")
player.physicsBody = nil
}
}
如您所见,当按下按钮时,玩家会变得不可见(Spaceship2 的不透明度较低)并且它不再具有物理体(因此敌人无法击中它)。
我想要的是这个(伪代码):
if (button pressed == true) {
start timer
if timer < 5 seconds {
player can't be hit and is invisible
} else {
player can be hit and is visible
}
}
有人能帮我吗?
最佳答案
您可以通过一系列等待操作和 runBlock 操作来完成此操作。
override func update(currentTime: CFTimeInterval) {
if (Data.gameScene.buttonPressed == true) {
//put code to make the player invisible
let waitAction = SKAction.waitForDuration(5)
let makePlayerVisibleAction = SKAction.runBlock {
//put code to make the player visible
}
let action = SKAction.sequence([waitAction, makePlayerVisibleAction])
player.runAction(action)
}
}
关于ios - 如何制作一个在 update() 中按下按钮时启动的 int 秒计数器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29203721/