如果我创建一个这样的按钮:
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
答案 0 :(得分:1)
在CCMenuItem.m中添加,
[[SimpleAudioEngine sharedEngine] playEffect:@"button.mp3"];
在#pragma mark CCMenuItemSprite - CCRGBAProtocol协议下的 - (void)选择和 - (void)未选择方法的定义中。 这将播放所有CCMenuItemImage项目的声音。
更好的选择: 如果你希望效果只有几个按钮,那么你可以继承CCMenuItemImage并覆盖上面提到的方法。
您需要在代码中的某处预加载mp3:
[[SimpleAudioEngine sharedEngine]preloadEffect:@"button.mp3"];
您还必须将#import“SimpleAudioEngine.h”添加到您的CCMenuItem或您创建的子类中。