from: http://bbs.9ria.com/thread-77302-1-1.html
演示程序
http://www.adamatomic.com/canabalt/
http://www.flixel.org/mode/
Flixel横板游戏制作教程(六)—SoundsandMusic(音效与音乐)
本教程是接着Flixel横板游戏制作教程(五)—Enemies (加入敌人)来做的。
音乐音效的加入让游戏更生动,快试试吧,下面是教程咯~
先看到 Player 类:
package { import org.flixel.FlxG; import org.flixel.FlxGroup; import org.flixel.FlxObject; import org.flixel.FlxSprite; /** * ... * @author zb */ public class Player extends FlxSprite { //***********已有的内容**************// //跳跃的声音 [Embed(source = 'media/jump.mp3')] protected var jumpSnd:Class; //着地的声音 [Embed(source = 'media/land.mp3')] protected var landSnd:Class; //***********已有的内容**************// //重写update 方法,用于控制 public override function update():void { //***********已有的内容**************// //找到 这里,然后在下面加上 if(FlxG.keys.justPressed('X') && onFloor) { //跳跃的时候,人物的y轴速度是向上的 velocity.y = -JUMP_ACCELERATION; //播放跳跃声音 //参数1:播放的声音类 //参数2:声音大小,默认为1 //参数3:是否循环,默认为false FlxG.play(jumpSnd,1.0,false); } //***********已有的内容**************// } //重写这个碰到下方的方法,主要是加一个落地声音 override public function hitBottom(Contact:FlxObject,Velocity:Number):void { //为什么要 速度大于50呢? //首先是因为,当人物在地面的时候,会不停的检测碰撞 //那么hitBottom会不停的检测,如果不加一个速度判断 //那么声音会不停的 播放 //所以加一个速度值判断 就是为了 让人物在地面的时候(地面时y速度为0) //不会播放落地声音。。 if (velocity.y > 50) { //落地声音 FlxG.play(landSnd); } super.hitBottom(Contact, Velocity); } } }
package { import org.flixel.FlxG; import org.flixel.FlxGroup; import org.flixel.FlxObject; import org.flixel.FlxState; import org.flixel.FlxTileblock; import org.flixel.FlxU; /** * ... * @author zb */ public class GameState extends FlxState { //***********已有的内容*************// //背景音乐 [Embed(source = 'media/mode.mp3')] protected var bgMusic:Class; //找到这个方法 override public function create():void { //***********已有的内容*************// //添加背景音乐 addBackGroundMusic(); } //***********已有的内容*************// private function addBackGroundMusic():void { //play 和 playMusic 有什么区别? //区别就是在于 play 方法的 第三个参数:Looped //playMusic 没有这个 Looped ,是因为这个方法是播放循环音乐 //相当于 play 方法的 Looped 参数设置为 true,默认为false FlxG.playMusic(bgMusic); } } }
下面是Bullet 类:
package { import org.flixel.FlxG; import org.flixel.FlxObject; import org.flixel.FlxSprite; /** * ... * @author zb */ public class Bullet extends FlxSprite { //***********已有的内容************// //发射子弹的声音 [Embed(source = 'media/shoot.mp3')] protected var shootSnd:Class; //子弹碰到障碍物的声音 [Embed(source = 'media/hit.mp3')] protected var hitSnd:Class; //***********已有的内容************// //找到这个方法 public function shoot(sPosX:Number,sPosY:Number,velX:Number,velY:Number):void { //***********已有的内容************// //播放发射时的声音 FlxG.play(shootSnd); } //***********已有的内容************// //找到这个方法 override public function hurt(Damage:Number):void { //***********已有的内容************// //播放碰到障碍物时爆炸的声音 FlxG.play(hitSnd); } } }
接着是 Enemy 类:
package { import org.flixel.FlxEmitter; import org.flixel.FlxG; import org.flixel.FlxObject; import org.flixel.FlxSprite; /** * ... * @author zb */ public class Enemy extends FlxSprite { //***********已有的内容**************// //敌人爆炸的声音 [Embed(source = 'media/asplode.mp3')] protected var asplodeSnd:Class; //***********已有的内容**************// //找到这个方法 override public function kill():void { //***********已有的内容**************// //播放敌人爆炸的声音 FlxG.play(asplodeSnd); } //***********已有的内容**************// } }
最后是 GameState 类:
相关推荐
•对流式音效和循环音乐迚行控制 •支持多层次的背景画面滚劢 •文本挄钮和鼠标挃针设置 •迚度存储,数学凼数和碰撞检测支持 •纯粹的as3编写,而丏免费 本教程是根据一个老版本(版本为 1.27)的教程改写而成的,...
NULL 博文链接:https://chaimzane.iteye.com/blog/1853891
NULL 博文链接:https://chaimzane.iteye.com/blog/1853889
NULL 博文链接:https://chaimzane.iteye.com/blog/1853898
NULL 博文链接:https://chaimzane.iteye.com/blog/1853901
NULL 博文链接:https://chaimzane.iteye.com/blog/1853895
NULL 博文链接:https://chaimzane.iteye.com/blog/1853893
学习笔记兼教程用。来自网上。应该是天地会……
NULL 博文链接:https://chaimzane.iteye.com/blog/1853899
NULL 博文链接:https://chaimzane.iteye.com/blog/1853900
NULL 博文链接:https://chaimzane.iteye.com/blog/1853897
flixel platform game source code
Flixel游戏框架初探,Flixel游戏框架介绍
Flixel AS3游戏引擎
Flixel 是开源的游戏引擎,用于制作类似GBA游戏的小游戏, http://flixel.org/ Flixel 是简单易学的游戏引擎,可以从它入手学习游戏开发
Flixel-flash开源游戏引擎。 将文件夹内的org文件夹复制到src文件夹,即可import。
Flixel-android开源游戏开发引擎。 该文件为jar文件,需要java运行环境,可双击执行,然后生成android开发源码,会生成3个文件夹,依次导入到eclipse中即可。 flixelgame---游戏开发主要文件夹。 flixelgame-android...
一个非常好用的Flixel游戏引擎,常用于制作RPG类的小游戏,该文浅显易懂