历时10天,我的第一个HTML5游戏终于完成了,下来介绍我这个游戏——打地鼠
源码在最下面,大家下下玩玩
游戏功能
1.帮助界面
2.游戏预备开始
3.5种不同地鼠的随机出现
4.关卡设置,当然有计时条显示
5.失败和通过关卡设置
6.音效设置
经验
1.找出需要的图片和音频时候
没有必要重新选择了,资源是从个android游戏解压来的,本身就是符合这个游戏。但是,如果以后做正式项目时候,就不能靠解压android游戏了(但谁又会说不会参考参考其他人,这你懂的)。
2.把图片,相同功能作用的图P在一起,解压出来的图片都是一张张,比较散乱。这样可以减少图片的http请求。为了使游戏更加流畅,可以用音频和图片的压缩来优化。
3.如果定位背景图,有个比较简单方法,打开dreamweaver,然后写个HTML页面,里面就一句body里面就一句<img src="你要定位的图片路径"/>和设置CSS样式*{margin:0;padding:0;} ,切换到设计界面,可以通过拉参考线,然后按ctrl键就知道定位位置。
4.当setInterval里面的函数需要传参数时候,可以使用匿名函数包装的方式。
//为setInterval传参数
function foo()
{
var param = 100;
window.setInterval(function()
{
intervalFunction(param);
param++;
}, 888);
}
intervalFunction(param){
......
}
4.HTML5 canvas 在鼠标的拖动上有些不便的东西。比如30毫秒刷新一次canvas,而鼠标如果在这30毫秒内移动速度快,就会产生鼠标所在的位置会比canvas画面快,而鼠标控制的东西就有些滞后感。
5.设置存在矩阵(地鼠位于哪个洞)之后,碰撞检测就不需要轮询全部对象了,只需要检测相应位置的对象。这个方法适合那些在同个canvas位置上有多个不同对象的游戏。
6.鼠标控制的游戏,HTML5 canvas 有些缺陷,也本身是页面的问题,就是在鼠标迅速点击,会出现“I”的图标(即使鼠标),这比较影响人机交互。
7.canvas绘图所画的是那些经常变化对象(如地鼠,计时条),其他不变部分最好是用HTML+CSS(如暂停按钮)。
教训和不足
1.在5种地鼠的随机产生过程中,本不应该是同等概率出现的,但我还是同概率的。应该,甚至是一关出现几只都是计算好的。
2.框架这方面,由于之前的例子是用键盘事件的,而由于我的打地鼠游戏是鼠标事件的,所以就不能安照他的例子。而且我要实现和其框架有些不大符合,最后打算用一半。
3.在功能完善难易和代码整洁上,如果存在冲突,如何平衡之间的问题,也是需要认真考虑。
浏览器兼容
1.兼容Chrome和FF(效果最不错),但IE有问题(声音也播不出)。
最后,大家有什么建议或者意见,可以发留言或者发邮件给我:lufeng2013@qq.com
(请了解:游戏中所有图片和音乐均来自手机版同名游戏,本游戏仅供学习参考)
分享到:
相关推荐
"Android源码——安卓游戏打地鼠源码_new_41.zip" 这个标题表明我们正在处理一个与Android操作系统相关的项目,更具体地说,这是一个Android游戏的源代码。游戏的名字是“打地鼠”,这通常是一个反应速度和准确性的...
【标题】"Android源码——安卓游戏打地鼠源码_new_41.7z" 涉及的是一个基于Android平台的打地鼠游戏的源代码分享。在这个项目中,开发者提供了完整的打地鼠游戏的实现代码,有助于学习者深入理解Android应用开发,...
总的来说,这个"打地鼠_LayaBox_Alipay_Alipay_Ts源码_"项目是一个结合了LayaBox游戏引擎、TypeScript编程、游戏逻辑设计以及Alipay支付功能的综合实践。通过研究和理解这个项目,开发者可以深化对游戏开发流程的...
《J2ME手机游戏——打地鼠》 Java 2 Micro Edition(J2ME)是Java平台的一个子集,主要用于嵌入式设备和移动设备,如早期的智能手机。这款"打地鼠"游戏就是利用J2ME技术开发的一款经典休闲游戏,通过简单的操作和...
【标题】"C#初级打地鼠源代码参考"揭示了这个项目是一个使用C#编程语言开发的初级水平的游戏——打地鼠。打地鼠是一款常见的休闲娱乐游戏,玩家需要在地鼠冒出地面时迅速点击它们,以获得分数。在这个版本中,特别...
打地鼠游戏是一种常见的休闲娱乐游戏,"html5简单的打地鼠手机小游戏源码"表明这个压缩包包含了一个使用HTML5实现的打地鼠游戏。在H5游戏中,开发者通常会利用事件监听来响应用户的触摸或鼠标操作,控制游戏的逻辑...
2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...
2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...
Java 3DMenu 界面源码 5个目标文件 内容索引:Java源码,窗体界面,3DMenu Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都...
2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...
2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...
Java 3DMenu 界面源码 5个目标文件 内容索引:Java源码,窗体界面,3DMenu Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都...
"第十二个范例——Dialog、TooltipDialog、ProgressBar、TitlePane、Tooltip"这个标题揭示了一个编程示例,它涵盖了Java Swing或JavaFX中几个关键的UI组件。下面,我们将深入探讨这些组件以及它们在实际应用中的作用...
Java 3DMenu 界面源码 5个目标文件 内容索引:Java源码,窗体界面,3DMenu Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都...
【标题】"纯css3实现的打乒乓球动画特效源码"揭示了这个压缩包内容的核心——一个使用纯CSS3技术创建的乒乓球动画效果。CSS3是层叠样式表(Cascading Style Sheets)的第三版,它极大地扩展了对网页样式的控制能力,...
总结来说,"ChartCtrl"是一个强大且易于集成的MFC表格控件,它的自绘特性、丰富的图表类型以及高度的可定制性,为开发者提供了高效的数据可视化工具。无论是在小型项目还是大型企业级应用中,都能看到"ChartCtrl"的...
第1章 使用Visual C++ 2010编程 1 1.1 .NET Framework 1 1.2 CLR 2 1.3 编写C++应用程序 3 1.4 学习Windows编程 4 1.4.1 学习C++ 4 1.4.2 C++标准 5 1.4.3 属性 5 1.4.4 控制台应用程序 5 1.4.5 Windows...
2012-06-11 21:03 596,394 TC打地鼠.rar 2012-06-11 21:24 10,293 tftp.rar 2012-06-11 21:07 172,570 uC-GUI-字体转换.rar 2012-06-11 21:11 2,872,837 vb酒店客房管理信息系统.rar 2012-06-11 21:05 161,792 vb...
《源码剖析:使用Unity构建的第一款游戏——Block-Breaker》 Unity是一款强大的跨平台游戏开发引擎,被广泛应用于2D、3D游戏的制作。在这个项目中,我们聚焦于名为"Block-Breaker"的游戏,这是一款基于经典打砖块玩...
接下来的课程涵盖了各种有趣的项目,如红绿灯、俄罗斯转盘(跑马灯)、打地鼠等,这些都是通过学习和实践Arduino编程的基础概念,逐步提升技能的好例子。每个项目都会让你更深入地理解Arduino的工作原理,并激发你的...