2011-09-05 87 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