小编tdu*_*udz的帖子

iOS 7 SpriteKit - 创建游戏菜单/按钮(场景与更多视图控制器)

所以,我已经开始在SpriteKit上开展一个项目了,我希望能够用几个按钮实现一个"主菜单"场景.一个人将进入一个关卡选择屏幕,一个是选项等.然后从关卡选择屏幕中,会有几个其他按钮,当选择它们时将启动游戏并加载所选关卡.

我的问题是:如何建立项目?每个屏幕(级别选择,主菜单,选项)是否应该是自己的场景并且有一个主视图控制器?或者我应该有多个视图控制器吗?或者也许每个级别的视图控制器(虽然这没有多大意义)由故事板中的NavigationController控制?

在玩了一下并在线阅读之后,我注意到我可以使用视图控制器为我的主菜单添加UIButtons.然而,他们坚持通过精灵套件场景变化,这不是我想要的.这意味着我必须设置按钮隐藏在每个显示的新场景上,这让我担心,因为我不确定按钮究竟发生了什么.我知道可以用SKSpriteNodes创建按钮(类似于Graf发布的类和许多人使用的类).这是更好的选择吗?我没有在VC上使用UIButtons,而是检查touchBegan方法和touchesEnded方法是否触摸了该按钮节点,如下所示:

UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInNode:self];
SKNode *node = [self nodeAtPoint:location];

if ([node.name isEqualToString:@"scene button"])
{
    LevelScene *scene = [LevelScene sceneWithSize:self.view.bounds.size];
    scene.scaleMode = SKSceneScaleModeAspectFill;
    [self.view presentScene:scene];
}
Run Code Online (Sandbox Code Playgroud)

这是处理它的正确方法吗?

最终我希望能够添加暂停屏幕,屏幕上的游戏等,并且不确定是否只需交换场景就足够了.此外,我可以从.plist文件加载它们,而不是为每个级别单独实现

我也在考虑是否可以为按钮设置动画.我想我会希望它们在选中时浮动或变大(当用户触摸但不放手时),我相信UIButton不会允许它,因为它不是SKSpriteNode.

很抱歉这么长的帖子,但希望能提供足够的信息来帮助我,让我走上正轨!谢谢!

objective-c uibutton ios

12
推荐指数
2
解决办法
5978
查看次数

标签 统计

ios ×1

objective-c ×1

uibutton ×1