【问题标题】:To maintain the state of a scrolling level menu保持滚动级别菜单的状态
【发布时间】:2012-05-02 20:28:31
【问题描述】:

我正在开发一个游戏,我在其中使用 CCScrollLayer 创建了一个水平滚动菜单。
在该菜单上,我添加了一个后退按钮,按下该按钮会将用户带到主菜单。
我想要的是:当用户回到关卡选择屏幕时,我想保持关卡菜单的状态。 这是我在做什么:

CCScrollLayer * scrolllayer = [[CCScrollLayer alloc] initWithLayers:[NSMutableArray arrayWithObjects:layer1,layer2,layer3, nil] widthOffset:230];

//scrolllayer.showPagesIndicator = YES;

[self addChild:scrolllayer z:0];

我创建了一个 scrollLayer 并在其上添加了一个后退按钮。假设用户正在玩第 3 关并按下返回按钮进入主菜单。之后,如果用户返回到级别选择屏幕,那么级别 3 应该会出现在屏幕上。菜单不应从一开始就显示关卡。

感谢您的宝贵时间。

问候

谢伊莱什

【问题讨论】:

  • 我猜你使用了特定的编程语言?你介意添加这个吗?或者你的意思是CSS?那么请添加这个标签。
  • @ShegitBrahm:感谢您的回复。我正在开发一款 iPhone 游戏。所以我使用 Objective C 和 xcode 以及 Cocos2d。

标签: objective-c xcode menu cocos2d-iphone


【解决方案1】:

在任何地方维护级别编号...并使用此方法

-(void) moveToPage:(int)page;

滚动条将移动到该级别...

希望这会有所帮助.. :)

【讨论】:

  • @Nikhil Aneja:感谢您的回复..但是你能不能更深入地解释一下..?我已经创建了 3 个图层并将它们添加到 INIT 函数本身的 scrollLayer 中。我还需要使用数组吗?
  • No.. 在你的关卡场景中.. 写下这段代码.. scroller = [[CCScrollLayer alloc] initWithLayers:tempLayerArray widthOffset: 10]; [self addChild:scroller]; [scroller moveToPage:[appDelegate scrollerEntered]];此 scrollerEntered 是您的初始页面变量...最初为 0。一旦您进入一个级别。分配给级别编号...它会正常工作.. :)
猜你喜欢
  • 2013-01-19
  • 2020-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-16
相关资源
最近更新 更多