我有10个关卡。就像普通游戏一样,除非你打败前一关,否则你不能玩下一关。每个关卡中唯一变化的部分是一个角色和该角色的位置。
如何使得如果你通过了关卡,下一个关卡将被解锁,并区分你在哪个关卡上并加载已定义的“详细信息”(即角色文件和位置)?
非常感谢任何帮助!谢谢!
编辑:
我使用plist来加载所有关于关卡的信息
首先,我创建了一个PLIST(右键单击组,然后单击资源,“属性列表”)。然后,在PLIST中定义了所有信息。
接下来,我设置了一个全局变量来设置关卡号码。当用户选择任意一个关卡(它是CCMenu)时,该方法更改int“level”为正确的关卡号码(例如1,2,3,4,5)。然后,在我的游戏init中检查int“levels”,并从PLIST运行关卡。
这是游戏场景init运行关卡检查后运行的我的关卡方法。它加载PLIST,设置字典,选择背景,将其添加到层中,然后int“_ballX,_ballY”在.h文件中声明,该文件设置了球的位置值位于init中!
希望这能帮助到某些人!感谢每个人的快速回复!
如何使得如果你通过了关卡,下一个关卡将被解锁,并区分你在哪个关卡上并加载已定义的“详细信息”(即角色文件和位置)?
非常感谢任何帮助!谢谢!
编辑:
我使用plist来加载所有关于关卡的信息
首先,我创建了一个PLIST(右键单击组,然后单击资源,“属性列表”)。然后,在PLIST中定义了所有信息。
接下来,我设置了一个全局变量来设置关卡号码。当用户选择任意一个关卡(它是CCMenu)时,该方法更改int“level”为正确的关卡号码(例如1,2,3,4,5)。然后,在我的游戏init中检查int“levels”,并从PLIST运行关卡。
这是游戏场景init运行关卡检查后运行的我的关卡方法。它加载PLIST,设置字典,选择背景,将其添加到层中,然后int“_ballX,_ballY”在.h文件中声明,该文件设置了球的位置值位于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];
希望这能帮助到某些人!感谢每个人的快速回复!