作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对如何解决以下问题有点困惑:
我的滚动游戏会产生从 plist 加载的不同类型的障碍物。生成由 SKAction 延迟,每个障碍物的持续时间由 y 位置计算。
已更新以反射(reflect) Wraithseeker 的回答。
这是在其中启动所有计时器的设置代码didMoveToView()
:
for obstacleTuple in level.obstacleTuples {
let positionY = obstacleTuple.positionY
let obstacle = obstacleTuple.obstacle as! SKNode
let duration = NSTimeInterval(positionY / kObstacleDistancePerSec)
// **Update**: Instead of running the wait action on the scene...
//runAction(SKAction.waitForDuration(duration), completion: {
// I should run it on the foregroundNode...
foregroundNode.runAction(SKAction.waitForDuration(duration), completion: {
self.foregroundNode.addChild(obstacle)
})
}
// And then toggle the pause property on that node to stop and resume.
let foregroundNode.paused = foregroundNode.paused == true ? false : true
我希望有特殊事件(根据用户操作而发生),在此期间上述障碍物的生成会进一步延迟,并且玩家可以收集奖励对象。所以基本上,我需要为等待 SKAction 分配一个键,然后使用 .pauseActionForKey()
方法(而不是 .removeActionForKey()
)。
是否可以用它来扩展SKAction
?有更好的方法来实现我想要做的事情吗?
最佳答案
解决此问题的一种方法是创建一个空的 SKNode
并将这些操作分配给您想要暂停的节点。这样,当您暂停操作时,它不会暂停整个游戏,因为您此时正在使用 self
将 SKActions
分配给场景。
要暂停操作,只需按照 sangony 的建议对空的 SKNode
调用暂停即可。
一个例子
myEmptyNode.pause() //
关于swift - SpriteKit : I'd need something like . 暂停ActionForKey()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30912737/
我是一名优秀的程序员,十分优秀!