码迷,mamicode.com
首页 > Web开发 > 详细

HTML5 2D平台游戏开发——角色动作篇之蓄力技

时间:2017-07-06 10:18:41      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:状态机   func   call   代码   com   攻击   ++   cal   pre   

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

技术分享

要实现这个操作首先要记录下按键被按住的时间,初始是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  更新蓄力技

HTML5 2D平台游戏开发——角色动作篇之蓄力技

标签:状态机   func   call   代码   com   攻击   ++   cal   pre   

原文地址:http://www.cnblogs.com/undefined000/p/charge-attack-in-2d-platform-game.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!