(续上节:Web Audio API 小教程(2): 入门篇)
- (0): 序言与目录
- (1): 它能做什么?
- (2): 入门篇
- (3): 初级使用篇
- (4): 一些声音常识
- (5): 进阶篇
(续上节:Web Audio API 小教程(2): 入门篇)
(续上节:Web Audio API 小教程(1): 它能做什么?)
AudioContext 是一个管理、播放声音的对象,大概跟 Canvas 的 context 差不多。
我们可以在 AudioContext 里“画”出各种声音。
(续上节:Web Audio API 小教程(0):序言与目录)
1.用作游戏的音效,可以方便地混音,同时地混着播放两个或以上音轨
Web Audio API 好好玩,我一接触到这玩意就迷上了它。
然而,网上暂时还没有一篇能让我觉得比较满意的入门教程,于是我想自己写一个。
第一次写教程,可能写得不太好,望勿见笑。
下面是目录:
2017-03-17 更新:貌似 Gitbook 的体验比博客好,于是移植了,请进→→【Gitbook 版本】
为了学习 chipmunk 物理引擎,我自行策划并开发了一个台球游戏。随便取了一个名字《欢乐台球》。
用手机玩更带感(扫码开始玩):
在开发这个游戏的同时,我实践了一波 Web Audio API 。因为我发现 cocos2d-js 自带的音频引擎无法提前加载音频文件,只有真正播放的时候才会加载,导致第一次播放音效时会延迟几秒。所以,我自己弄了一个简单的音频引擎,暂时取名为 Benz Audio Engine。
Benz Audio Engine 目前是作为这个游戏源码的一部分而存在,近期我会单独为它建立一个 Repository。
(2017/03/13 更新:Benz Audio Engine 已经建好 Repository 了!)
游戏的音效和背景音乐都截取自红白机游戏《花式撞球》(Side Pocket),它是一款于1987年问世的经典游戏,由日本 Data East 株式会社开发,日版由日本南梦宫株式会社(Namco)发行,美版由 Nintendo of America Inc. 发行。
图片资源都是我自己画的,原始 psd 文件也全部在 res 目录里面。而我并不是做设计的,所以界面可能会不太好看。
不知道为何,我就是对小时候的经典游戏特别的着迷。尤其是红白机(NES)的游戏音乐,听着让人兴奋。
做完了这个游戏,我对 cocos2d-js 应该算是上手了。接下来要研究它的高级功能。
同步更新:Github Wiki
我在学习 chipmunk 物理引擎的过程中,感觉到了明显的困难。估计很大可能是受限于我的英文水平和物理知识了。于是特开此帖,记录学习过程中遇到的物理专业术语。内容不断更新。
为了学习 cocos2d-js 里面的 chipmunk 物理引擎,我把物理引擎加入了《圆圈大战》。成为了《圆圈大战碰碰版》。
话说 chipmunk 还真是难学啊。网上的 chipmunk 教程,要么是英文版,要么是 C++ 或 objC 版,我想要的 JS 版还真是少之又少。
不过我会努力的,正因为写中文教程的人太少,所以我感觉这应该是个机遇。
说不定,完整的 chipmunk.js 中文教程或者中文API文档是我首创的呢~
为了学习 cocos2d-js,最近花了大量时间,做了一个小游戏。名叫《圆圈大战》,英文叫 Circle War。
说起 Circle War,其实有一段历史。
早在我念高中的时候,我就开发了 Circle War,玩法是一样的。
当时使用的代码语言是 Pascal,开发IDE是 Turbo Pascal,系统环境是 DOS。
没错,就是在训练奥林匹克竞赛的时候写着玩的。
“Circle War”这个名字,是一起参加奥赛的好友林记帮忙起的,他是一名大牛,毕业后就进入了 Google 中国。
而我,后来没把算法学好,只能当一名前端工程师了。
Circle War 是我高中时代的一个作品,现在用 cocos2d-js 把它复刻出来,一来用于学习 cocos2d-js,二来也算是对学生时代的一种怀念和纪念吧。
毕竟10年了,高中时代的 Circle War 代码似乎很难找到了,不过我会尝试着找找看的。
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
1 | $ hexo new "My New Post" |
More info: Writing
1 | $ hexo server |
More info: Server
1 | $ hexo generate |
More info: Generating
1 | $ hexo deploy |
More info: Deployment