1 / 29

iPhone 系统 应用与开发

iPhone 系统 应用与开发. -- 完善 iPhone 游戏功能. 李云玮. 回顾. -- 如何进行加速度控制?. 教学分析. 上节课我们在项目中添加了加速度功能,小球获得了加速度控制,这节课我们要为项目加上背景音乐。 学生分小组讨论并回答. 新任务介绍. 使用 AVAudioPlayer 播放音效 在项目中添加音效 完善游戏音效. 任务目标. 知识准备. 如何使用 AVAudioPlayer 类播放音效? 以小组形式收集信息学习讨论. 任务实施. -- 完善 Iphone 游戏功能. 单元二 为游戏添加音效.

uzuri
Download Presentation

iPhone 系统 应用与开发

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. iPhone系统 应用与开发 -- 完善iPhone游戏功能 李云玮

  2. 回顾 --如何进行加速度控制?

  3. 教学分析 上节课我们在项目中添加了加速度功能,小球获得了加速度控制,这节课我们要为项目加上背景音乐。 学生分小组讨论并回答

  4. 新任务介绍 使用AVAudioPlayer播放音效 在项目中添加音效 完善游戏音效

  5. 任务目标

  6. 知识准备 如何使用AVAudioPlayer类播放音效? 以小组形式收集信息学习讨论

  7. 任务实施 -- 完善Iphone游戏功能

  8. 单元二 为游戏添加音效

  9. 在项目中添加音效

  10. 思路 播放 重复播放 停止播放(本游戏不需要停止,教师演示如何使用)

  11. 播放音频

  12. 导入资源 导入音频文件BgSound.caf 导入音频播放类库 #import <AVFoundation/AVFoundation.h>

  13. 声明变量 在BallHoleAppDelegate.h中声明音频播放对象: @interface BallHoleAppDelegate : NSObject{ AVAudioPlayer *myAudioPlayer; }

  14. 声明方法 在BallHoleAppDelegate.h中声明方法: //初始化,并开始播放音频 - (void)initAndStartPlayer;

  15. 实现方法 在BallHoleAppDelegate.m中实现该方法 //----------------- //初始化,并开始播放音频 - (void)initAndStartPlayer { //具体见程序 }

  16. 调用方法 在BallHoleAppDelegate.m中调用该方法 //----------------- //初始化,并开始播放音频 -(void)applicationDidFinishLaunching:(UIApplication *)application { [self initAndStartPlayer]; }

  17. 重复播放

  18. 分析 • 在每次播放结束后重新播放; • 实现代理方法audioPlayerDidFinishPlaying; • 该方法会在音频播放完后自动调用;

  19. 接受协议 在BallHoleAppDelegate.h中接受协议AVaudioPlayerDelegate; @interface BallHoleAppDelegate : NSObject <AVAudioPlayerDelegate>{ …………. }

  20. 实现协议的方法 在BallHoleAppDelegate.m中实现该项协议的方法audioPlayerDidFinishPlaying - (void) audioPlayerDidFinishPlaying: (AVAudioPlayer *) player successfully: (BOOL) flag { if (flag) { [myAudioPlayer prepareToPlay]; [myAudioPlayer play]; } }

  21. 设置委托对象 在初始化开始播放音频函数中设置委托对象: - (void)initAndStartPlayer { ……… myAudioPlayer.delegate=self; }

  22. 停止播放

  23. 声明方法 在BallHoleAppDelegate.h中声明方法: //停止并释放音频播放器 - (void)stopAndReleasePlayer;

  24. 实现方法 在BallHoleAppDelegate.m中实现这两个方法 - (void)stopAndReleasePlayer{ //如果myAudioPlayer不为空指针 if(myAudioPlayer) { //myAudioPlayer停止播放 [myAudioPlayer stop]; //myAudioPlayer生存周期减1 [myAudioPlayer release]; //将myAudioPlayer设置为空指针 myAudioPlayer=nil; } }

  25. 调用方法 在BallHoleAppDelegate.m中调用该方法 在changeViewWithID方法中调用该方法: [self stopAndReleasePlayer];

  26. 完善游戏音效

  27. 完善游戏 根据背景音效的播放方式,建立游戏中其它各种个性化音效。 提示,建立新的音频播放对象,播放特定音效

  28. 拓展任务 独立制作一个程序,可以实现音乐的播放、暂停、停止、循环播放等功能

More Related