js实现魂斗罗版的棍子英雄小游戏ContraHero

一直想用canvas写一个魂斗罗游戏,但是发现自己水平和学习能力差太多,收集好素材之后发现一个棍子英雄的小游戏挺火,就产生了写本文这个游戏的想法。直接上demo,建议在chrome下:点我。

简单说下写这个小游戏遇到的2个坑爹问题:

1.之前下的素材music.mp3这个文件,其实是3段音频。最后几秒是魂斗罗结束时的音乐,我想在结束的时候直接从调用最后几秒的音频。查了一下audio,很容易找到了audio的currentTime这个属性可以设置音频的播放位置。但是我本地测试的过程中,这个属性是一直不起作用的。后来百度(百度根本不好用),谷歌了半天才在stackoverflow上找到了一段描述,大概的意思就是需要一个sever环境,然后把测试环境放到了服务器环境就可以正常使用currentTime这个属性设置音频的播放起始位置了,一个大坑。

2.第二个大坑平时写transition的时候习惯的将transition-property写为all。比如transition:all 0s ease 0s;。在这个游戏中,当鼠标松开的时候棍子应该是以100% 100%的位置为远点进行旋转的。由于我写的是all,所以transfor-origin也产生了一个从默认的50% 50%到100% 100%的一个过渡过程,反应在页面上就是棍子开始明显转动的远点不是100% 100%的位置,但是动画完成到100%的时候原点是正确的。

剩下的就是逻辑实现,本来是想做到自适应和重置游戏的,最后多少都有点不足,重置游戏直接用刷新页面的暴力方式来解决了。页面有很多bug,不行就刷一次,哈哈。

最后附上下载包,渣代码,见笑。ContraHero

时间: 2024-08-01 20:05:23

js实现魂斗罗版的棍子英雄小游戏ContraHero的相关文章

分享:计算机图形学期末作业!!利用WebGL的第三方库three.js写一个简单的网页版“我的世界小游戏”

这几天一直在忙着期末考试,所以一直没有更新我的博客,今天刚把我的期末作业完成了,心情澎湃,所以晚上不管怎么样,我也要写一篇博客纪念一下我上课都没有听,还是通过强大的度娘完成了我的作业的经历.(当然作业不是百度来的,我只是百度了一些示例代码的意思,怎么用!算了,越解释万一越黑呢!哈哈O(∩_∩)O哈哈~) ----------------------------------------------------------------分界线------------------------------

HTML5版的String Avoider小游戏

HTML5版的String Avoider小游戏 http://www.newgrounds.com/portal/view/300760 蛮简单也蛮考验耐心,从游戏起始点移动鼠标到终点位置,鼠标移动过程绘制出移动轨迹的String平滑曲线,整个过程不能碰撞到边界,从技术角度来说其核心就是根据鼠标移动位置生成String线的算法,该游戏是ActionScript写的Flash版,这里将其改造成HTML5版的JavaScript实现,并增加可自定义关卡功能的一种设计思路. String连线我是缓存

30年前《魂斗罗》里藏着的秘密,你竟然是这样一个关卡!

前不久,有一位读者在微博上给我留言,针对我写的一篇回顾红白机时代射击类游戏的文章,他问道:"你对射击游戏的认知甚至停留在上世纪80年代,请问<毁灭战士><反恐精英><战地><荣誉勋章>等等,是被你吃了吗?" 我当时真的有想回复的冲动,比如回复"吃不下.会噎着"之类的话语.可最后,我还是克制了自己,言不由衷地回复道:"谢谢对我上世纪80年代回忆文章的批评指正." 文/张书乐(TMT行业观察者.游戏产业

使用Html5+JS做的贪吃蛇小游戏

学习了Html5的Canvas的使用,和JS创建对象,做了一个贪吃蛇小游戏,来巩固JS面向对象编程和Canvas的用法. Node.js 1 /** 2 * 格子类,组成贪吃蛇和舞台 3 */ 4 function Node(x,y){ 5 this.x=x; 6 this.y=y; 7 /** 8 * 比较两个格子是否重合 9 */ 10 this.equals=function(x,y){ 11 return this.x==x&&this.y==y; 12 } 13 } Snake.

仿《棍子英雄》feekood 网页版

今天山寨了一个<棍子英雄>也就是<英雄难过棍子>.我非常想和大家一起分享分享.网址是:http://www.wooyoogame.com/game/37 原来的<棍子英雄>实在手机上运行的,我写的这个是在网页上运行的. 如果你是第一次登陆,需要安装一个插件 因为这个游戏平台是用silverlight开发的,详情点击 http://blog.csdn.net/my_word/article/details/44020611 下面是游戏截图. 1.开始界面 2.开始游戏会提

魂斗罗、双截龙你一定玩过,但你知道为什么它要“山寨吗?

"初代游戏两关纵深行进的军事基地.第七关充满机械利爪的工厂.<超级魂斗罗>第四关巨大的升降梯,都契合了<终结者>(1984).<机器战警>(1987)以及<霹雳五号>(1986)等科幻电影对于机械与机器人的描绘."看到网上这段文字时,我的脑海里突然有了一种恍然大悟的感觉. 文/张书乐 TMT行业观察者.游戏产业时评人,人民网.人民邮电报专栏作者 新著有<微博运营完全自学手册> 经典游戏<魂斗罗>里两位主角可以让人看

萝莉式“屈腿”,《魂斗罗》里被人忽略的真正秘技竟然是?

在"古董级"游戏玩家圈里,总会时不时提到"萝莉式屈腿俯卧",这个话题专属于经典游戏<魂斗罗>,大家的"吐槽点"很简单--游戏主角每次趴下射击的时候,腿总是翘着的.在军事电影中,战士们大都紧贴地面,以减小暴露在外的面积,降低被子弹击中的概率.但<魂斗罗>中的屈腿姿势如此惬意,仅仅是为了赢得玩家眼缘吗? 文/张书乐 TMT行业观察者.游戏产业时评人,人民网.人民邮电报专栏作者 新著有<微博运营完全自学手册> 从游戏

CSS+js打造的网页版俄罗斯方块游戏

<HTML> <SCRIPT> parent.moveTo((screen.width-775)/2,(screen.height-540)/2); parent.resizeTo(775,540) </SCRIPT> <HEAD> <META NAME="Title" CONTENT="JScript Simple Tetris"> <TITLE>CSS+js打造的网页版俄罗斯方块游戏丨石家庄

js消除小游戏(极简版)`

js小游戏极简版 (1) 基础布局 <div class = "box"> <p></p> <div class="div"></div> </div>     (2)简单的基础样式 * { margin: 0; padding: 0; } div.box { width: 1000px; height: 700px; border: 1px solid #008B8B; box-sizing: