如果我创建这样一个按钮:
CCMenuItemImage *okBtn = [CCMenuItemImage itemWithNormalImage:@"gameOkBtn.png"
selectedImage:@"gameOkBtnPressed.png"
block:^(id sender)
{
//actions
}];我怎么能在新闻发布会和发布会上播放一个声音?在常规的iOS开发中,我可以子类UIButton并为UIControl事件添加选择器。
编辑:下面是子类
@implementation CCMenuItemImageSound
- (void)selected{
[super selected];
[[SoundManager sharedManager] playSound:kSoundButtonDown volume:0.5];
}
- (void)unselected{
[super unselected];
//this method gets called twice when you release the button
[[SoundManager sharedManager] playSound:kSoundButtonUp volume:0.5];
}
@end发布于 2013-09-27 16:32:08
在CCMenuItem.m中添加,
[[SimpleAudioEngine sharedEngine] playEffect:@"button.mp3"];在定义-(void)选择的和-(void)未选择的方法下,在#实用化标记CCMenuItemSprite - CCRGBAProtocol协议下。这将播放所有CCMenuItemImage项目的声音。
更好的选项:,如果您希望效果只适用于几个按钮,那么您可以子类CCMenuItemImage并覆盖上述方法。
您需要在代码中的某个位置预加载mp3:
[[SimpleAudioEngine sharedEngine]preloadEffect:@"button.mp3"];还必须将#import "SimpleAudioEngine.h“添加到您的CCMenuItem或您创建的子类中。
https://stackoverflow.com/questions/19055654
复制相似问题