from: http://bbs.9ria.com/thread-77302-1-1.html
演示程序
http://www.adamatomic.com/canabalt/
http://www.flixel.org/mode/
Flixel横板游戏制作教程(七)—VictoryState(胜利状态)
本教程是接着Flixel横板游戏制作教程(六)—SoundsandMusic(音效与音乐)来做的。
下面是 把敌人都干掉后,转跳到胜利画面。
先看看胜利状态类VictoryState:
package { import org.flixel.FlxG; import org.flixel.FlxState; import org.flixel.FlxText; /** * ... * @author zb */ public class VictoryState extends FlxState { //胜利画面的等待时间计数 private var _time:Number; override public function create():void { _time = 0; //flash 这里是指,从某个颜色开始过度到透明 //参数1:起初显示的颜色 //参数2:过度的时间 FlxG.flash.start(0xffffffff, 1); //添加一个文本 add(new FlxText(100, 50, 100, 'Victory!')); } override public function update():void { //elapsed,该值是指,每一帧所经过的时间 _time += FlxG.elapsed; if (_time>5) { //fade,是指从 透明 过度到 想要的颜色 //参数1:想要过度的颜色 //参数2:经过的时间 //参数3:过度结束后,调用的方法 FlxG.fade.start(0xffffffff, 1, onPlay); } super.update(); } private function onPlay():void { //转跳到 GameState FlxG.state = new GameState; } } }
接来下是 Gamestate :
package { import org.flixel.FlxG; import org.flixel.FlxGroup; import org.flixel.FlxObject; import org.flixel.FlxState; import org.flixel.FlxText; import org.flixel.FlxTileblock; import org.flixel.FlxU; /** * ... * @author zb */ public class GameState extends FlxState { //*********已有的内容**************// //敌人计数器 private var enemyCounter:FlxText; override public function create():void { //*********已有的内容**************// //加入敌人计数器 addEnemyCounter(); } //*********已有的内容**************// override public function update():void { //*********已有的内容**************// //检查敌人数量 checkEnemyCount(); //还是要提醒下,别忘了加上。。。 super.update(); } //*********已有的内容**************// private function addEnemyCounter():void { //加入一个文本,显示敌人的数量 enemyCounter = new FlxText(150, 20, 20, String(ENEMY_COUNT)); //scrollfactory 属性 //表示 该对象 在屏幕移动的时候 //跟着屏幕一起移动的比例,范围 在 0 到 1 这个区间 //0 表示 不与屏幕移动 //1表示 完全跟着屏幕移动 //而之间的范围 从 0 开始,越大,随着屏幕移动的距离越大 //具体同学们可以自行设置参数理解 //x 和 y 分表表示 对水平移动和垂直移动的比例 enemyCounter.scrollFactor.x = 0; enemyCounter.scrollFactor.y = 0; add(enemyCounter); } private function checkEnemyCount():void { //计数值,刷新查看 当前敌人组中 死亡敌人的数量 var count:int = 0; for each (var enemy:Enemy in enemyGroup.members) { if (enemy.dead) { count++; } } //这里刷新 剩余敌人数量的文本 enemyCounter.text = String(ENEMY_COUNT - count); //当 死亡敌人的数量达到 最大敌人数的时候 if (count==ENEMY_COUNT) { //过渡白色 ,结束后转跳 胜利状态 FlxG.fade.start(0xffffffff, 1, onVictroy); } } private function onVictroy():void { //停止音乐 FlxG.music.stop(); FlxG.state = new VictoryState; } } }
相关推荐
Flixel是啥?一个AS3的2D游戏引擎,主要功能为: •同屏显示更多元素 •通过外部文件和图片创建Tilemap ...本教程是根据一个老版本(版本为 1.27)的教程改写而成的,本教程的Flixel版本为 2.43的。
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/1853896
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类的小游戏,该文浅显易懂