0
Python Objective C语法激发了我的思想!(cocos2d)动态创建菜单和场景
我试图创建一个菜单,将25个按钮。点击它将开始适当的级别。这些级别仅通过调用[CCTMXTiledMap tiledMapWithTMXFile:@“lvl_1-25.tmx”];
要创建菜单,我使用:
CCMenuItemSprite *lvl_1_button= [CCMenuItemSprite itemFromNormalSprite:[GameButton buttonWithText:@"lvl 1"] selectedSprite:NULL target:self selector:@selector(lvl1_start)];
...
CCMenu *menu = [CCMenu menuWithItems: lvl_1_button, lvl_2_button, lvl_3_button, nil];
[self addChild:menu];
场景变化在于:
-(void)lvl1_start
{
[[CCDirector sharedDirector] replaceScene:[lvl1_start node]];
}
在这种情况下水平之间的差异是最小的。在初始化时在一行中。
-(id) init
{
if((self=[super init]))
{
self.tileMap = [CCTMXTiledMap tiledMapWithTMXFile:@"lvl_1.tmx"];
结果是一吨重复的代码。这怎么可以简化?
毕竟,只需要改变场景,只需在初始化方法中传递一个变量(级别号)即可。