有没有办法暂停SKActions?

use*_*136 8 iphone objective-c game-engine ios sprite-kit

我想创建一个暂停菜单,但我不知道最简单的方法...我想一个简单的方法是暂停我的所有SKActions,但我找不到参考中的任何方法.感谢帮助.

And*_*yOS 13

文档说父SKView对象已暂停property.将其设置YES为暂停场景.

已暂停

一个Boolean值,指示视图的场景动画是否已暂停.

@property(getter = isPaused,nonatomic)BOOL暂停

讨论如果值为YES,则场景的内容在屏幕上固定.不执行任何操作,也不执行物理模拟."

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

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

  • 谢谢你的帮助!:)你是对的.所有的动画和动作都会停止.但是,如果我将暂停的属性设置为no,则精灵会移动到视图永远不会暂停的位置.知道为什么吗?:) (2认同)

Luc*_*cas 8

您还可以通过将场景的速度设置为零来暂停所有SKActions - 这意味着所有操作都将停止,并且您不必担心它们会移动到如果您没有暂停则不会移动到的位置

self.speed = 0;
Run Code Online (Sandbox Code Playgroud)

很简单