gpt4 book ai didi

iphone - 关卡 - Cocos2d

转载 作者:搜寻专家 更新时间:2023-10-30 20:04:01 26 4
gpt4 key购买 nike

我有 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com