有没有一种方法可以暂停SKActions?

11

我想创建一个暂停菜单,但我不知道最简单的方法是什么... 我认为最简单的方法是暂停所有SKActions,但我在参考文献中没有找到任何方法。 谢谢帮助。

2个回答

13

文档说明父SKView对象具有已暂停的属性。将其设置为YES可暂停场景。

暂停

一个布尔值,指示视图的场景动画是否已暂停。

@property(getter=isPaused, nonatomic) BOOL paused

讨论 如果该值为YES,则场景的内容固定在屏幕上。不执行任何动作并且不执行任何物理模拟。

//the parent SKView
spriteView = (SKView *) self.view;

//pause button
-(IBAction)goPauseButton {
    if(!spriteView.paused){
        spriteView.paused = YES;
    }else{
        spriteView.paused = NO;
    }
}

3
谢谢您的帮助! :) 您是正确的。所有的动画和行为都停止了。但如果我将暂停属性设置回“否”,精灵将继续移动到它们本来应该在视图未暂停时所在的位置。有任何想法为什么会这样? :) - user1940136
暂停对我来说很好用,你能否发布你的代码,展示你如何调用它以及在哪里调用它? - AndyOS
我知道我的代码问题所在... 我使用了update方法中的当前时间,而当前时间在逻辑上并不会停止。因此我需要修复它。 - user1940136
你有什么主意可以解决这个问题吗? - user1940136
谢谢你的帮助。我已经解决了;) 这是我的代码问题。 - user1940136

10
您还可以通过将场景的速度设置为零来暂停所有SKActions - 这意味着所有操作都将停止,您不需要担心它们移动到您没有暂停时它们将不会出现的位置。
self.speed = 0;

就这么简单


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接