zoukankan      html  css  js  c++  java
  • HTML5 2D平台游戏开发#9蓄力技

      在很多动作游戏中,玩家操控的角色可以施放出比普通攻击更强力的蓄力技,一般操作为按住攻击键一段时间然后松开,具体效果像下面这张图:

    要实现这个操作首先要记录下按键被按住的时间,初始是0:

    this.sabreChargeTime = 0;

    接下来是能够施放技能所需要的时间,超过这个时间后松开按键,即可施放出技能,否则无效:

    this.MAX_SABRE_CHARGE_TIME = 150;

    代码结构如下:

    if (key[74]) {//攻击
        this.updateSabreCharge();  //蓄力
    } else {
        this.releasePowerSlash();   //施放攻击
    }
    
    function updateSabreCharge() {
        this.sabreChargeTime++;
    }
    
    function releasePowerSlash(callback) {
        if(this.sabreChargeTime > this.MAX_SABRE_CHARGE_TIME) {
            this.state = STATE.POWER_SLASH;
            this.play();
    
            callback && callback();
        }
        this.resetSabreCharge();    //重置计数器
    }
    
    function resetSabreCharge() {
        this.sabreChargeTime = 0;    
    } 

    可以在角色动作的各个阶段按住攻击键触发蓄力。

    更新日志

      2017/04/09  更新角色跳跃

      2017/04/21  更新角色冲刺

      2017/05/01  更新角色状态机

      2017/05/16  更新角色攻击动画

      2017/05/22  更新角色移动攻击动画

      2017/05/24  更新角色跳跃攻击动画

      2017/06/04  更新地图绘制

      2017/06/22  更新摄像机、长距离冲刺

      2017/07/01  更新指令技

      2017/07/06  更新蓄力技

  • 相关阅读:
    《JavaScript高级程序设计》读书笔记 14章
    C# 程序集是啥
    C#之反射又是什么东西
    C#版 大数计算器加法
    C#版 大数计算器乘法
    我所认识的三层
    《JavaScript高级程序设计》读书笔记 56章
    C# 委托加深理解
    C#版 大数计算器减法
    C# 事件到底是什么
  • 原文地址:https://www.cnblogs.com/undefined000/p/charge-attack-in-2d-platform-game.html
Copyright © 2011-2022 走看看