2011-09-05 48 views
1

我剛剛開始使用cocos2d-iphone進行遊戲,我試圖在我的hud中添加一個暫停按鈕。 我的HUD將有:使用CCMenuItemImage在hud層創建單個按鈕

  • 剩餘時間
  • HP吧
  • 暫停按鈕

我一直在閱讀雷Wenderlich的tutorials和他提到了按鈕CCMenuItemImage應該被使用。我第一次:

CCMenuItemImage *pauseButton = [CCMenuItemImage itemFromNormalImage:@"hud_pause_bt.png" selectedImage:@"hud_pause_bt.png" target:self selector:@selector(pauseAction:)]; 
pauseButton.position = ccp(winSize.width - pauseButton.rect.size.width/1.8, winSize.height - pauseButton.rect.size.height/1.8); 

[self addChild:pauseButton]; 

但我從來沒有達到pauseAction方法。後來我嘗試添加了CCMenuItemImageCCMenu用下面的代碼:

CGSize winSize = [CCDirector sharedDirector].winSize; 

CCMenuItemImage *pauseButton = [CCMenuItemImage itemFromNormalImage:@"hud_pause_bt.png" selectedImage:@"hud_pause_bt.png" target:self selector:@selector(pauseAction:)]; 

pauseButton.position = ccp(winSize.width - pauseButton.rect.size.width/1.8, winSize.height - pauseButton.rect.size.height/1.8); 

CCMenu *pauseMenu = [CCMenu menuWithItems:pauseButton, nil]; 
pauseMenu.position = CGPointZero; 
[self addChild:pauseMenu]; 

在這種情況下,接觸工作,但感覺不對創建CCMenu只是爲了讓我CCMenuItemImage點擊。

您認爲如何?

回答

3

你做這件事的方式是正確的。這就是CCMenu和CCMenuItems被設計使用的方式。

如果您不喜歡該方法,請考慮僅使用CCStandardTouchDelegateCGRectContainsPoint