首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Cocos2d中播放按钮声音

如何在Cocos2d中播放按钮声音
EN

Stack Overflow用户
提问于 2013-09-27 16:22:34
回答 1查看 833关注 0票数 0

如果我创建这样一个按钮:

代码语言:javascript
复制
CCMenuItemImage *okBtn = [CCMenuItemImage itemWithNormalImage:@"gameOkBtn.png"
                                                               selectedImage:@"gameOkBtnPressed.png"
                                                                       block:^(id sender)
                                         {
                                             //actions
                                         }];

我怎么能在新闻发布会和发布会上播放一个声音?在常规的iOS开发中,我可以子类UIButton并为UIControl事件添加选择器。

编辑:下面是子类

代码语言:javascript
复制
@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
EN

回答 1

Stack Overflow用户

发布于 2013-09-27 16:32:08

在CCMenuItem.m中添加,

代码语言:javascript
复制
[[SimpleAudioEngine sharedEngine] playEffect:@"button.mp3"];

在定义-(void)选择的-(void)未选择的方法下,在#实用化标记CCMenuItemSprite - CCRGBAProtocol协议下。这将播放所有CCMenuItemImage项目的声音。

更好的选项:,如果您希望效果只适用于几个按钮,那么您可以子类CCMenuItemImage并覆盖上述方法。

您需要在代码中的某个位置预加载mp3:

代码语言:javascript
复制
 [[SimpleAudioEngine sharedEngine]preloadEffect:@"button.mp3"];

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19055654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档