经典格斗游戏《街头霸王》的JavaScript实现

其实这种练习的结果不是很重要,主要是体会其中的过程,虽然大部分的时间是在痛苦中渡过,但也是有很多收获的,同时也暴露出很多技术方面的不足,也为以后的学习明确了一些目标。

技术方面因为考虑到大部分IE用户(而且是非IE9),所以没有用HTML5的canvas,用的div的方式处理的,这样挑战也相对大了一些,

不过确实,性能上还是不理想,IE下的表现还是比较糟糕(特别是IE6。。。恩。。。- -!)。

目前兼容IE6/7/8(理论上也兼容IE9,只是没有测试),safari,FF3.5+(因为FF2.0/3.0不支持水平翻转的样式。。- -!),Chrome,Opera。

自己写了一个小型框架,包括了开发流程和js类库,类库用了OOP Like的方式包了个语法糖衣,看上去还算是像个OOP的样子,不过因为为了追求“优雅”,直接扩展了function的prototype,所以不建议在其它地方使用。

框架开发的整体思路就是用PHP作后端代码合并输出,js代码里用$import去建立了各个代码文件之间的关系,然后页面引用合并js的PHP文件,该模式需要在本地建立一个web服务器才能作测试,并且需要设置hosts为 127.0.0.1 aralork

游戏说明

游戏是一个Demo版本,实现了核心的整体流程。游戏分为“单人游戏”模式、“双人对战”模式和“练习模式”三种玩法,不过其实实现都是一样,只是改改初始化的参数而已,挺坑爹的。。。

游戏只需要键盘操作,不需要鼠标,

菜单的操作是方向键移动,Enter键选择,ESC键取消;

玩家1的操作:

上:W,下:S,左:A,右:D,拳:J / K / L,腿:U / I / O

玩家2的操作:

上:↑,下:↓,左:←,右:→,拳:小键盘 1 / 2 / 3,腿:小键盘 4 / 5 / 6

这里的 ↑ ↓ ← → 代表方向键。

游戏截图

经典格斗游戏《街头霸王》的JavaScript实现

经典格斗游戏《街头霸王》的JavaScript实现

其它说明

目前游戏还有很多BUG,所以玩的时候要有心理准备,不要被怪异的情况所震惊。。。

游戏里的素材取自于CAPCOM公司的《街霸II》,版权归CAPCOM公司所有。

大家有什么问题都可以在这里回复,欢迎大家拍砖,谢谢。

游戏演示地址