2011-12-01 54 views
0

我想要一個級別選擇屏幕,如在切斷繩索遊戲即。沒有任何滑動效果。 我會在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]; 

} 
+1

我沒有看到任何問號。 – bezmax

回答

0

您可以創建定位一個垂直的按鈕按鈕,就像你在做的一樣

item1 = [CCMenuItemImage itemFro mNormalImage:@ 「levButton.png」 selectedImage:@ 「levButton.png」 目標:自 選擇器:@selector(利用PlayNow)]

添加在CCMenu的所有項目中,添加一個垂直填充和位置的菜單

CCMenu * menu = [CCMenu menuWithItems:item1,item2,nil];

[menu alignItemsVerticallyWithPadding:20.f];

menu.position = ccp(x,y);

您可以爲每列創建1個菜單,並在該菜單的該列中添加所有按鈕。 你只需要定位CCMenu,裏面的菜單項的定位按照你的規則(verticallyWithPadding例如)

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定位。