- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有 10 个级别。就像普通游戏一样,只有通关之前的关卡才能进入下一关。每个级别唯一改变的部分是一个 Sprite 和 Sprite 的位置。
如果你通过下一关解锁的关卡,然后区分你所在的关卡并加载定义的“细节”(意思是 Sprite 文件和位置),我怎么能做到这一点?
非常感谢任何帮助!谢谢!
编辑:
我使用了一个 plist 来加载关于关卡的所有信息
首先,我创建了 PLIST(然后右键单击一个组,单击资源,“属性列表”)。接下来,我在 PLIST 中定义了所有信息。
然后,我设置了一个全局变量来设置级别数。当用户选择哪个级别(即 CCMenu)时,该方法将 int“级别”更改为正确的级别编号(例如 1、2、3、4、5)。然后,在我的游戏初始化中,它会检查 int“级别”并从 PLIST 运行级别。
在我的关卡方法中,游戏场景初始化在关卡检查后运行。它加载 PLIST,设置字典,选择背景,将其添加到图层,然后在 .h 文件中声明整数“_ballX,_ballY”,该文件设置位于 init 中球位置的值!
NSString *path = [[NSBundle mainBundle] bundlePath];
NSString *finalPath = [path stringByAppendingPathComponent:@"Levels.plist"];
NSDictionary *plistDataAll = [[NSDictionary dictionaryWithContentsOfFile:finalPath] retain];
NSDictionary *levelData = [NSDictionary dictionaryWithDictionary:[plistDataAll valueForKey:@"LevelOne"]];
NSString *background = [levelData objectForKey:@"LevelBackground"];
_m = [CCSprite spriteWithFile:background];
_m.anchorPoint = ccp(0, 0);
_m.position = ccp(0, 0);
[self addChild:_m];
_ballX = [[levelData valueForKey:@"BallPositionX"] intValue];
_ballY = [[levelData valueForKey:@"BallPositionY"] intValue];
希望这对某人有帮助!感谢大家的快速回复!
最佳答案
我处理它的方式基本上是有一个抽象类,并在每个级别的单独类中实现这个抽象类,然后每当该级别完成时,只需加载下一个类(级别)。
关于iphone - 关卡 - Cocos2d,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6542790/
我有 10 个级别。就像普通游戏一样,只有通关之前的关卡才能进入下一关。每个级别唯一改变的部分是一个 Sprite 和 Sprite 的位置。 如果你通过下一关解锁的关卡,然后区分你所在的关卡并加载定
我读了这个optimisation problem在谷歌代码挑战赛中。 (现在比赛已经结束了,聊聊也无妨。) Armin is playing Osmos, a physics-based puzzl
对于我正在创建的游戏,我希望能够创建许多可以轻松加载的自定义关卡。每个级别都应该有一个 .sks 接口(interface)文件和它自己的 SKScene 子类 .swift 文件。 现在,这是有效的
如何在不给玩家造成延迟的情况下扩大我的世界/关卡的大小以包含更多游戏对象? 我正在为 Assets 商店创建 Assets 。它是一个随机程序世界生成器。只有一个主要问题:世界大小。 我不知道如何扩大
我是一名优秀的程序员,十分优秀!