0

如果我创建这样的按钮:

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
4

1 回答 1

1

在 CCMenuItem.m 添加,

[[SimpleAudioEngine sharedEngine] playEffect:@"button.mp3"];

在#pragma mark CCMenuItemSprite - CCRGBAProtocol 协议下-(void) selected-(void) unselected方法的定义中。这将为所有 CCMenuItemImage 项目播放声音。

更好的选择: 如果您只希望几个按钮的效果,那么您可以继承 CCMenuItemImage 并覆盖上述方法。

您需要在代码中的某处预加载 mp3:

 [[SimpleAudioEngine sharedEngine]preloadEffect:@"button.mp3"];

您还必须将 #import "SimpleAudioEngine.h" 添加到您的 CCMenuItem 或您创建的子类中。

于 2013-09-27T16:32:08.180 回答