格斗游戏引擎中的方向处理

格斗游戏引擎需要对两个场景的方向控制做处理,其一是玩家的输入控制,主要是考虑镜像的问题;其二就是键位映射。 为什么要做键位映射呢?因为角色的技能指令一般都是写在配置文件中的,但游戏时,玩家有可能会自定义按键,这样一来,配置文件中写入的可能是wsad代表上下左右,但玩家设置的按键则是edsf对应上下左右,此时只需要把edsf转换成wsad作为输入即可。而且,将来新增输入设备时,也只需要做类似的转义处理即可。 除了按键到引擎输入的映射转换,在游戏运行中,还需要根据角色的所处位置,对左、右做镜像的处理。当P1移动到P2的右侧时,原来的方向键“右”此时变成了“后退”,方向键“左”变成了前进。 综合考虑这两种情况,才能确保玩家输入 ---> 引擎解析的过程正确无误。…

node_modules中的js编译问题

昨晚遇到一个很奇怪的问题,在node_modules中引入一个第三方库react-svg-joystick,公司的电脑上编译没有问题,但在家里的电脑上却会编译报错,报错内容如下 Module parse failed: /Users/hoyt/vscode/FEngine/node_modules/_react-svg-joystick@1.0.0@react-svg-joystick/src/index.js Unexpected token (10:19) You may need an appropriate loader to handle this file type. 仔细查看了报错信息,很快就找到了问题,npm对node_modules中的库进行了link处理,编译器解析时访问的路径实际上是node_modules/_react-svg-joystick,库的名字带了一个下划线,正是因为npm的这个link行为,导致编译器实际上在处理_react-svg-joystick@1.…

FEngine: 2D格斗游戏引擎 && 编辑器

最近好久没更新博客了,因为最近在赶进度,初步完成了2D格斗游戏引擎FEngine的体验版,接下来会出一个专题,具体细节参见:https://github.com/hoyt-tian/FEngine/ 2D格斗游戏引擎 / 2D FighT Game Engine 特点 / Feature 基于Canvas绘图 based on Canvas 同时支持桌面和移动端 Support both desktop browser & mobile (any container support canvas) 支持自定义新角色 Support user defined new character 支持发布角色(未来支持功能)Support publish new character to chracter gallery 支持加载第三方角色信息 support load…