gpt4 book ai didi

ios - Swift 应用程序开发(带 SpriteKit 的游戏)我希望屏幕上出现一些视觉变化,然后在给定时间后消失

转载 作者:行者123 更新时间:2023-11-29 01:21:22 29 4
gpt4 key购买 nike

我正在使用 Swift 和 SpriteKit 制作游戏。我写过这样的东西:

node.alpha = 0
sleep(1)
node.alpha = 1

其中 node 是一个 SKSpriteNode。这段代码所做的只是将程序的运行卡住一秒钟,而不是使节点不可见,卡住程序运行一秒钟然后再次使节点可见。我认为所有视觉变化都会定期发生,也许在每次更新之后。如何解决这个问题,让节点消失一秒,程序卡住?

谢谢!

最佳答案

这个答案假设您只想暂停场景,而不是整个程序。

你要使用的是 SKActions sequencewaitForDuration,

和节点 pause 变量。

您本质上是想将整个场景移动到一个单独的节点中,并让另一个节点控制它的暂停。

像这样设置场景节点:

let sceneWorld = SKNode() //make this available to the entire class
let timerNode = SKNode()

...
override func didMoveToView()
{
....
scene.addNode(timerNode)
scene.addNode(sceneWorld) //sceneWorld is where you will be adding all gfx sprites now
}

func pauseWorld()
{

let wait1sec = SKAction.waitForDuration(1)
let unpause = SKAction.runBlock({sceneWorld.pause = false;showNodes(true)})

timerNode.runAction(SKAction.sequence[wait1sec,unpause])

showNodes(false)
sceneWorld.pause = true;

}

func showNodes(show : Boolean)
{
let alpha = (show) : 1.0 ? 0.0
//set all nodes that need to hide here with alpha
...
}

关于ios - Swift 应用程序开发(带 SpriteKit 的游戏)我希望屏幕上出现一些视觉变化,然后在给定时间后消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34556969/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com