Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 屏幕上的游戏-SpriteKit_Ios_Iphone_Sprite Kit - Fatal编程技术网

Ios 屏幕上的游戏-SpriteKit

Ios 屏幕上的游戏-SpriteKit,ios,iphone,sprite-kit,Ios,Iphone,Sprite Kit,我正在制作一个简单的SpriteKit游戏。我想在屏幕上添加一个游戏,用一个按钮返回主屏幕。但似乎用SpriteKit做起来并不容易 我以前在主游戏视图上有一个“后退”按钮,当游戏过载时,这个按钮就留在那里。但是使用它并再次播放会使fps下降。那么,有没有办法在SKScene中添加一个按钮?例如,在故事板中创建视图控制器并在其中添加按钮,然后使场景显示在那里 如果你需要任何代码或任何东西,只要告诉我,我会发布它。谢谢 最好的方法是子类化SKNode,在SpriteKit中创建一个按钮 简单的例子

我正在制作一个简单的SpriteKit游戏。我想在屏幕上添加一个游戏,用一个按钮返回主屏幕。但似乎用SpriteKit做起来并不容易

我以前在主游戏视图上有一个“后退”按钮,当游戏过载时,这个按钮就留在那里。但是使用它并再次播放会使fps下降。那么,有没有办法在
SKScene
中添加一个按钮?例如,在故事板中创建视图控制器并在其中添加按钮,然后使场景显示在那里


如果你需要任何代码或任何东西,只要告诉我,我会发布它。谢谢

最好的方法是子类化
SKNode
,在
SpriteKit
中创建一个按钮

简单的例子:

@interface MyButton : SKSpriteNode

@property (nonatomic, readonly) SEL action;
@property (nonatomic, readonly, weak) id target;

- (void)setTarget:(id)target action:(SEL)action;

@end

@implementation SKButton

- (void)setTarget:(id)target action:(SEL)action 
{
    _target = target;
    _action = action;
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event 
{
    UITouch *touch = [touches anyObject];
    CGPoint touchPoint = [touch locationInNode:self.parent];

    if (CGRectContainsPoint(self.frame, touchPoint)) 
    {
        objc_msgSend(_target, _action);
    }
}

@end
或者您可以创建一个
ui按钮
,并将其添加到
SKView

UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
button.backgroundColor = [UIColor whiteColor];

[skView addSubview:button];

我没有遇到任何性能问题,但我的测试项目并不复杂。

好吧,我找到了一个对我有效的简单解决方案(至少现在是这样)。这是:


作者创建了一个节点,然后当触碰该节点时,游戏将再次加载。代码可以在其网站上看到。

将UIButton作为子视图添加到SKView不是一个选项,对吗?那么FPS会下降吗?好吧,至少在故事板上是这样的。我想ARC只是保留了这些内容,但我不知道如何发布它们……谢谢,我会把这些保存起来,以备将来的项目/想法使用!:DHe或她正在使用SKLabel。