我想在cocos2d中设置关卡选择屏幕,就像《割绳子》那样。没有任何滑动效果。
目前为止我发现最有用的网站是"带滚动的关卡选择屏幕"
目前,我正在使用以下命令获取菜单项,但无法定位它们
for (int i=0; i<levelCount; i++) {
item1 = [CCMenuItemImage itemFromNormalImage:@"levButton.png" selectedImage:@"levButton.png" target:self selector:@selector(playnow)];
item1.tag = i;
[levelMenu addChild:item1];
}
如果您需要以网格方式定位您的项目,您可以这样做:
int realIndex = 0;
for (int x = 0; x < numberOfHorizontalItems; x++) {
for (int y = 0; y < numberOfVerticalItems; y++) {
item1 = [CCMenuItemImage itemFromNormalImage:@"levButton.png" selectedImage:@"levButton.png" target:self selector:@selector(playnow)];
item1.tag = realIndex;
item1.position = ccp(x * (item1.contentSize.width + 6),-(y * (item1.contentSize.height + 6)));
[levelMenu addChild:item1];
realIndex++;
}
}
levelMenu.position = ccp(0,0) // <-- Adjust coordinates.
技巧是使用2个For循环,一个用于X,另一个用于Y定位。
你可以创建一个垂直的按钮线,就像你做的
item1 = [CCMenuItemImage] itemFromNormalImage:@"selectedImage: @" levButton.png"目标:自我选择器:@ selector (playnow)]
添加CCMenu中的所有项目,添加垂直填充并定位菜单
CCMenu *menu = [CCMenu menuWithItems:item1, item2, nil];
[菜单alignItemsVerticallyWithPadding: 20. f];
菜单。
您可以为每个列创建一个菜单,并在该菜单中添加该列的所有按钮。你只需要定位CCMenu,项目在菜单中的定位遵循你的规则(例如垂直withpadding)