HTML5 2D平台游戏开发#9蓄力技
2024-08-22 08:37:27
在很多动作游戏中,玩家操控的角色可以施放出比普通攻击更强力的蓄力技,一般操作为按住攻击键一段时间然后松开,具体效果像下面这张图:
要实现这个操作首先要记录下按键被按住的时间,初始是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 更新蓄力技
最新文章
- CoreData的一些简单运用
- 并发两个Thread的怪事——已解决
- Codeforces Round #257(Div.2) D Jzzhu and Cities --SPFA
- 手动配置Ubuntu Linux系列3-缺省网关和主机名
- Caused by: java.lang.NullPointerException, java.lang.reflect.InvocationTargetExc
- git切换远程
- 【python问题系列--1】SyntaxError:Non-ASCII character '\xe5' in file kNN.py on line 2, but no encoding declared;
- HTTP长连接、短连接使用及测试
- Android Studio 代码无提示,无颜色区分
- HttpServlet
- iOS .tbd
- .NET Core PartialView 与 Ajax
- hex文件格式
- ansible的管理与剧本
- Java基于opencv实现图像数字识别(一)
- [UGUI]圆形Image
- Windows下MongoDB安装配置
- Sublime Es6教程2-基本语法
- java.lang.ClassNotFoundException: org.apache.commons.beanutils.DynaBean
- Linux下php-fpm进程过多导致内存耗尽问题
热门文章
- Hadoop打包成jar包在集群上运行时出现的各种问题以及解决方案
- MySQL读写分离-架构
- 代码编辑器[0] ->; Vim/gVim[0] ->; 基于 Python 的 gVim 环境配置(Windows)
- python 字符串最长公共前缀
- ThinkPHP的自动验证常用的正则
- HTML <;form>; 标签的 accept-charset 属性
- tq2440实验手册qt编译问题
- 15 个 Docker 技巧和提示
- Ext JS 5 gpl版本 官方原版的下载方法
- java学习之输入,输出流