我希望cocos2d中的关卡选择屏幕与剪切绳索游戏一样。没有任何滑动效果。
到目前为止,我发现最有帮助的网站是" level selection screen with scrolling"
目前我使用以下内容获取菜单项但无法定位
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];
}
答案 0 :(得分:1)
如果您需要以网格方式放置项目,可以这样做:
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定位。
答案 1 :(得分:0)
您可以像使用
一样创建垂直的按钮行item1 = [CCMenuItemImage itemFromNormalImage:@“levButton.png” selectedImage:@“levButton.png”target:self 选择器:@selector(利用PlayNow)]
在CCMenu中添加所有项目,添加垂直填充并定位菜单
CCMenu * menu = [CCMenu menuWithItems:item1,item2,nil];
[menu alignItemsVerticallyWithPadding:20.f];
menu.position = ccp(x,y);
您可以为每列创建1个菜单,并在该菜单中添加该列中的所有按钮。 您只需要定位CCMenu,菜单内的项目位置遵循您的规则(例如,verticalWithPadding)