from: http://bbs.9ria.com/thread-77302-1-1.html

演示程序

http://www.adamatomic.com/canabalt/

http://www.flixel.org/mode/

Flixel横板游戏制作教程(十一)—JetPack(飞行背包)

Flixel横板游戏制作教程(十一)—JetPack(飞行背包)
本教程是接着Flixel横板游戏制作教程(十)—Pickups(拾取道具)来做的。
给角色带一个飞行器,是不是感觉很酷?那我们赶快开始吧~
这里 按 SPACE(空白键)为使用飞行背包。
看到 Player 类:

package
{import org.flixel.FlxEmitter;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/jet.png')]protected var jetImg:Class;//飞行背包的音效[Embed(source = 'media/jetpack.mp3')]protected var sndJetPack:Class;//飞行背包 粒子发射器private var jetPack:FlxEmitter;//飞行背包的 气体 消失的时间,变量,计时用,-1为不计时private var jetPackCountDown:Number = -1;//飞行背包的气体消失时间的初始值,设置为0.5秒private const COUNT_DOWN:Number = 0.5;//初始化给个初始坐标,当然可以不用参数,不过super的时候一定要加上public function Player(startX:Number=100,startY:Number=50):void {//**********已有的内容************////添加飞行背包addJetPack();}//重写update 方法,用于控制public override function update():void{//**********已有的内容************////按住 Space 键 开始飞行if (FlxG.keys.pressed('SPACE')) {//播放喷气时的音效FlxG.play(sndJetPack);//on 这个属性,是指 粒子发射器 是否正在发射粒子。//这里判断 当 没有发射粒子时if (!jetPack.on) {//粒子开始发射,//参数1:设置false,这样粒子就不会 一次性全部 发射完,而是一个接一个发射,并且会无限发射//参数2:设置0.02,每个粒子的发射间隔为 0.02秒jetPack.start(false, 0.02);}//将player 的 y 轴 加速度 设置为 这个值,方向向上this.acceleration.y = -JUMP_ACCELERATION;//设置 jetPack 的 x 和 y 坐标,//就是让 发射器 实时跟随者 PlayerjetPack.x = this.x + this.width * 0.5;jetPack.y = this.y + this.height;//设置为 -1jetPackCountDown = -1;}//当 放开 space 按键时if (FlxG.keys.justReleased('SPACE')) {//计数器 设置这个值,也就是0.5秒,即开始计时jetPackCountDown = COUNT_DOWN;//同时Player 的y轴加速度变为 重力值this.acceleration.y = GRAVITY_ACCELERATION;}//当计数器 不为 -1时,也就是说 开始计时if (jetPackCountDown != -1) {//计时器开始计时//每次 update 都会减去 一个 值//elapsed 就是 每次 update 经过的时间jetPackCountDown -= FlxG.elapsed;//当 计时器 减少到 0以下时if (jetPackCountDown<=0) {//计时器 设置为 -1jetPackCountDown = -1;//同时将 飞行背包 kill 掉,这样气体就会消失jetPack.kill();}}/*** 切记 ***///这个语句一定要加上去,只要重写了update,就一定要调用 super的update//否则不会刷新动画。。也不会响应你在这里所设置的控制super.update();}//**********已有的内容************//private function addJetPack():void{jetPack = new FlxEmitter();//创建粒子//参数1:粒子素材//参数2:粒子的最大数量jetPack.createSprites(jetImg, 15);//将粒子发射时的 x 和 y 轴速度 设置为0,让喷射的气体位置不变jetPack.setXSpeed(0, 0);jetPack.setYSpeed(0, 0);//设置粒子不会旋转jetPack.setRotation(0, 0);//设置粒子不受重力影响jetPack.gravity = 0;//记得添加到state 中。。FlxG.state.add(jetPack);}}}

Flixel横板游戏制作教程(十一)—JetPack(飞行背包)相关推荐

  1. 经典游戏制作教程[小糊涂的灵感]

    经典游戏制作教程 peng 1.游戏制作的主要流程 -------------------------------------------------------------------------- ...

  2. 简单的RPG游戏制作教程

    □企划部份 ◎第一步:决定资料格式 在进入游戏制作的初期,由于有许多和程式有关的资料需要编整,因此担任企划的人员常会忙得乱七八糟.在这个阶段,企划人员必需要和程式商量游戏中资料的格式.举个例子来说,在 ...

  3. 零基础 · 传说之下同人游戏制作教程

    1.0 废话 可略过 最好看一下 传说之下在很久以前便出现了"AU"这个说法,也正是从那时开始,无数游戏爱好者开始制作属于自己的传说之下同人游戏,随着时间的发展,无数AU游戏的&q ...

  4. 塔防游戏制作教程(四)

    嗨!大家好,我是小蚂蚁.今天我们继续分享制作一个塔防小游戏的第四节,如何实现炮塔的升级和出售功能. 如何实现炮塔的升级 在炮塔升级时,我们简单地做一些属性的提升以及外表的变化,例如当炮塔升级后,攻击速 ...

  5. 计算机与游戏制作,计算机动漫与游戏制作教程

    项目1动画造型设计 学习目标 项目描述 相关知识 项目任务 任务1动画造型认知 任务2动画造型设计 应用实践 教学指导 知识链接 项目2构成设计 学习目标 项目描述 项目任务 任务1点的体验与感受 项 ...

  6. 《从零开始的 RPG 游戏制作教程》第九期:信息反馈(上)

    目录 1. 前言 2. 第一期:制作基础场景 3. 第二期:让勇者和怪物登场 4. 第三期:基础的数值设计 5.第四期:从理论的角度简单聊聊关卡 6.第五期:制作物品和技能 7.第六期:设置怪物掉落物 ...

  7. Easyx小游戏制作教程

    来源:微信公众号「编程学习基地」 文章目录 1.推箱子 2. 益智小游戏拼图制作 3.经典小游戏Easyx制作酷炫贪吃蛇 4. 回味童年经典项目----扫雷实现 5.C++面向对象编程之 flappy ...

  8. html5 游戏制作教程,利用HTML5 Canvas制作一个简单的打飞机游戏

    之前在当耐特的DEMO里看到个打飞机的游戏,然后就把他的图片和音频扒了了下来....自己凭着玩的心情重新写了一个.仅供娱乐哈......我没有用框架,所有js都是自己写的......所以就可以来当个简 ...

  9. 《从零开始的 RPG 游戏制作教程》第十期:信息反馈(下)

    目录 1. 前言 2. 第一期:制作基础场景 3. 第二期:让勇者和怪物登场 4. 第三期:基础的数值设计 5.第四期:从理论的角度简单聊聊关卡 6.第五期:制作物品和技能 7.第六期:设置怪物掉落物 ...

  10. 《从零开始的RPG游戏制作教程》第二期:让勇者和怪物登场

    目录 1. 前言 2. 第一期:制作基础场景 在[第一期:制作基础场景]中,我们教学了如何下载魔兽地图编辑器,并制作了一个非常基础的小村子场景. 本期我们会简单地在场景中放入魔兽争霸3自带的英雄,使得 ...

最新文章

  1. Java项目:学生选课系统(java+javaweb+jdbc)
  2. shell 脚本调试
  3. 文巾解题 56. 合并区间
  4. 陕西活性炭需求分析_20212027年中国粉末活性炭行业市场发展现状调研与投资趋势前景分析报告...
  5. 开源 一套 Blazor Server 端精致套件
  6. MySQL cast()函数
  7. lombok之@NoArgsConstructor、@AllArgsConstructor和@Data注解
  8. 640x360,H264 SPS头如何表示高度?
  9. mflac格式解密_如何解密QQ音乐的MFLAC和MGG格式
  10. uva1601(The morning after Helloween)解题报告
  11. ICAP client 获取ICAP server 的Options
  12. 博士申请 | 美国范德堡大学NDS实验室招收数据挖掘/机器学习全奖博士生
  13. 【赠书】《ATT&CK框架实践指南》
  14. 技术测试部自定义报表总结
  15. LOL暗影岛服务器维修,暗影岛-英雄联盟官方网站-腾讯游戏
  16. 番茄花园是否走上正途?
  17. Java学习_Day 18(学习内容:尚硅谷IO流JAVA零基础P598-P612)
  18. 我观察14年才发现,那些很努力却没成就的人都有一个特点
  19. runat server
  20. java装修装饰公司订单管理系统ssm框架#java毕业设计

热门文章

  1. PIL 库介绍与简单应用
  2. cdd图像修复matlab,图像修复CDD模型新算法①.PDF
  3. 将lrc批量转换为txt,同时删除时间标签
  4. 网站是备案域名还是服务器,网站备案是域名还是服务器
  5. android捕获全局异常lin,全局获取 (Activity)Context,实现全局弹出 Dialog
  6. 第五章 编码传输中的码率控制
  7. c盘空间清理,无需软件
  8. php自学笔记四扫雷完成
  9. TEM波以及TEM TE TM模的区别
  10. 当上领导以后才明白的事情