注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

熊猫正正的博客

熊猫正正的天空

 
 
 

日志

 
 

cocos2d-音乐与音效(2)  

2013-06-02 16:21:45|  分类: ios游戏开发 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

-(id) init

{

// always call "super" init

// Apple recommends to re-assign "self" with the "super's" return value

if( (self=[super init])) {

        //使用CCDirector单例对象来获取屏幕大小

        CGSize winSize = [[CCDirector sharedDirector] winSize];

        

        //定义一个字体

        NSString *fontName = @"myfont.fnt";

        

//创建播放标签,当触碰播放标签时,会调用playSong方法

CCLabelBMFont *playLabel = [CCLabelBMFont labelWithString:@"Play" fntFile:fontName];

        CCMenuItemLabel  *playItem = [CCMenuItemLabel itemWithLabel:playLabel target:self selector:@selector(playSong:)];

        

        playItem.position = ccp(winSize.width/2,winSize.height *0.5);

        

        //创建停止标签,当触碰播放标签时,会调用stopPlaying方法

        

        CCLabelBMFont *stopLabel = [CCLabelBMFont labelWithString:@"Stop" fntFile:fontName];

        CCMenuItemLabel  *stopItem = [CCMenuItemLabel itemWithLabel:stopLabel target:self selector:@selector(stopPlaying:)];

        

        stopItem.scale = 0.5;

        stopItem.position = ccp(winSize.width/2,winSize.height *0.35);

        

        //创建暂停标签,当触碰播放标签时,会调用pausePlaying方法

        

        CCLabelBMFont *pauseLabel = [CCLabelBMFont labelWithString:@"Pause" fntFile:fontName];

        CCMenuItemLabel  *pauseItem = [CCMenuItemLabel itemWithLabel:pauseLabel target:self selector:@selector(pausePlaying:)];

        

        pauseItem.scale = 0.5;

        pauseItem.position = ccp(winSize.width/2,winSize.height *0.2);

        

        //创建继续标签,当触碰播放标签时,会调用resumePlaying方法

        

        CCLabelBMFont *resumeLabel = [CCLabelBMFont labelWithString:@"Resume" fntFile:fontName];

        CCMenuItemLabel  *resumeItem = [CCMenuItemLabel itemWithLabel:resumeLabel target:self selector:@selector(resumePlaying:)];

        

        resumeItem.scale = 0.5;

        resumeItem.position = ccp(winSize.width/2,winSize.height *0.85);

        

        //创建重放标签,当触碰重放标签时,会调用rewindPlaying方法

        

        CCLabelBMFont *rewindLabel = [CCLabelBMFont labelWithString:@"Rewind" fntFile:fontName];

        CCMenuItemLabel  *rewindItem = [CCMenuItemLabel itemWithLabel:rewindLabel target:self selector:@selector(rewindPlaying:)];

        

        rewindItem.scale = 0.5;

        rewindItem.position = ccp(winSize.width/2,winSize.height *0.65);

        

        //创建播放音效标签,当触碰播放音效标签时,会调用soundEffect方法

        

        CCLabelBMFont *soundEffectLabel = [CCLabelBMFont labelWithString:@"SoundEffect" fntFile:fontName];

        CCMenuItemLabel  *soundEffectItem = [CCMenuItemLabel itemWithLabel:soundEffectLabel target:self selector:@selector(soundEffect:)];

        

        soundEffectItem.scale = 0.3;

        soundEffectItem.position = ccp(winSize.width*0.2,winSize.height *0.5);

        

        //创建控制菜单,并将播放标签和停止标签添加进去

        

CCMenu *menu =[CCMenu menuWithItems:playItem,stopItem,pauseItem, resumeItem,rewindItem, soundEffectItem, nil];

        

        menu.position = CGPointZero;

        [self addChild:menu];

        

        //    //让播放标签执行一个动作,出现在屏幕中

        //

        //    [playItem runAction:

        //     [CCSequence actions:

        //      [CCDelayTime actionWithDuration:3.0],

        //      [CCEaseIn actionWithAction:

        //       [CCScaleTo actionWithDuration:2.0 scale:0.9]rate:4.0],

        //      nil]];

        //

        //    //让停止标签执行一个动作,出现在屏幕中

        //    [stopItem runAction:

        //     [CCSequence actions:

        //      [CCDelayTime actionWithDuration:3.0],

        //      [CCEaseIn actionWithAction:

        //       [CCScaleTo actionWithDuration:2.0 scale:0.8]rate:4.0],

        //      nil]];

        

        [self scheduleUpdate];

        

        

}

return self;

}


-(void)playSong:(id)sender{

    //添加一行代码以播放背景音乐:

    

    [[SimpleAudioEngine sharedEngine]playBackgroundMusic:@"bgmusic.mp3" loop:YES];

    

}


-(void)stopPlaying:(id)sender{

    //停止播放背景音乐

    

    [[SimpleAudioEngine sharedEngine] stopBackgroundMusic];

    

}


-(void)pausePlaying:(id)sender{

    //暂停播放背景音乐

    [[SimpleAudioEngine sharedEngine] pauseBackgroundMusic];

    

}


-(void)resumePlaying:(id)sender{

    //继续播放背景音乐

    [[SimpleAudioEngine sharedEngine] resumeBackgroundMusic];

}


-(void)rewindPlaying:(id)sender{

    //从开始处重放背景音乐

    [[SimpleAudioEngine sharedEngine] rewindBackgroundMusic];

    

}


-(void)soundEffect:(id)sender{

    //播放音效

    [[SimpleAudioEngine sharedEngine]playEffect:@"soundeffect01.mp3" pitch:12.0 pan:2.0 gain:5.0];

    

}


-(void)update:(ccTime)dt{

    isPlaying = [[SimpleAudioEngine sharedEngine]isBackgroundMusicPlaying];

    

    if(isPlaying){

        if(label !=nil){

            [label removeFromParentAndCleanup:YES];

        }

        label = [CCLabelTTF labelWithString:@"Now it's playing the music" fontName:@"Marker Felt" fontSize:24];

        CGSize screenSize = [CCDirector sharedDirector].winSize;

        label.position = ccp(screenSize.width/2,screenSize.height *0.1);

        [self addChild:label];

        

    }

    else{

        if(label !=nil){

            [label removeFromParentAndCleanup:YES];

        }

        label = [CCLabelTTF labelWithString:@"Touch Play to start" fontName:@"Marker Felt" fontSize:24];

        CGSize screenSize = [CCDirector sharedDirector].winSize;

        label.position = ccp(screenSize.width/2,screenSize.height *0.1);

        [self addChild:label];

        

    }

    

}


  评论这张
 
阅读(62)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017