290 likes | 531 Views
iPhone 系统 应用与开发. -- 完善 iPhone 游戏功能. 李云玮. 回顾. -- 如何进行加速度控制?. 教学分析. 上节课我们在项目中添加了加速度功能,小球获得了加速度控制,这节课我们要为项目加上背景音乐。 学生分小组讨论并回答. 新任务介绍. 使用 AVAudioPlayer 播放音效 在项目中添加音效 完善游戏音效. 任务目标. 知识准备. 如何使用 AVAudioPlayer 类播放音效? 以小组形式收集信息学习讨论. 任务实施. -- 完善 Iphone 游戏功能. 单元二 为游戏添加音效.
E N D
iPhone系统 应用与开发 -- 完善iPhone游戏功能 李云玮
回顾 --如何进行加速度控制?
教学分析 上节课我们在项目中添加了加速度功能,小球获得了加速度控制,这节课我们要为项目加上背景音乐。 学生分小组讨论并回答
新任务介绍 使用AVAudioPlayer播放音效 在项目中添加音效 完善游戏音效
知识准备 如何使用AVAudioPlayer类播放音效? 以小组形式收集信息学习讨论
任务实施 -- 完善Iphone游戏功能
单元二 为游戏添加音效
思路 播放 重复播放 停止播放(本游戏不需要停止,教师演示如何使用)
导入资源 导入音频文件BgSound.caf 导入音频播放类库 #import <AVFoundation/AVFoundation.h>
声明变量 在BallHoleAppDelegate.h中声明音频播放对象: @interface BallHoleAppDelegate : NSObject{ AVAudioPlayer *myAudioPlayer; }
声明方法 在BallHoleAppDelegate.h中声明方法: //初始化,并开始播放音频 - (void)initAndStartPlayer;
实现方法 在BallHoleAppDelegate.m中实现该方法 //----------------- //初始化,并开始播放音频 - (void)initAndStartPlayer { //具体见程序 }
调用方法 在BallHoleAppDelegate.m中调用该方法 //----------------- //初始化,并开始播放音频 -(void)applicationDidFinishLaunching:(UIApplication *)application { [self initAndStartPlayer]; }
分析 • 在每次播放结束后重新播放; • 实现代理方法audioPlayerDidFinishPlaying; • 该方法会在音频播放完后自动调用;
接受协议 在BallHoleAppDelegate.h中接受协议AVaudioPlayerDelegate; @interface BallHoleAppDelegate : NSObject <AVAudioPlayerDelegate>{ …………. }
实现协议的方法 在BallHoleAppDelegate.m中实现该项协议的方法audioPlayerDidFinishPlaying - (void) audioPlayerDidFinishPlaying: (AVAudioPlayer *) player successfully: (BOOL) flag { if (flag) { [myAudioPlayer prepareToPlay]; [myAudioPlayer play]; } }
设置委托对象 在初始化开始播放音频函数中设置委托对象: - (void)initAndStartPlayer { ……… myAudioPlayer.delegate=self; }
声明方法 在BallHoleAppDelegate.h中声明方法: //停止并释放音频播放器 - (void)stopAndReleasePlayer;
实现方法 在BallHoleAppDelegate.m中实现这两个方法 - (void)stopAndReleasePlayer{ //如果myAudioPlayer不为空指针 if(myAudioPlayer) { //myAudioPlayer停止播放 [myAudioPlayer stop]; //myAudioPlayer生存周期减1 [myAudioPlayer release]; //将myAudioPlayer设置为空指针 myAudioPlayer=nil; } }
调用方法 在BallHoleAppDelegate.m中调用该方法 在changeViewWithID方法中调用该方法: [self stopAndReleasePlayer];
完善游戏 根据背景音效的播放方式,建立游戏中其它各种个性化音效。 提示,建立新的音频播放对象,播放特定音效
拓展任务 独立制作一个程序,可以实现音乐的播放、暂停、停止、循环播放等功能