在好例子网,分享、交流、成长!
您当前所在位置:首页CSS 开发实例Box Model → html5捕鱼达人 游戏源码

html5捕鱼达人 游戏源码

Box Model

下载此实例
  • 开发语言:CSS
  • 实例大小:2.65M
  • 下载次数:52
  • 浏览次数:2213
  • 发布时间:2018-08-22
  • 实例类别:Box Model
  • 发 布 人:crazycode
  • 文件格式:.zip
  • 所需积分:2
 相关标签: 游戏 HTML5 捕鱼达人

实例介绍

【实例简介】

【实例截图】

from clipboard


from clipboard

【核心代码】

(function(){
	var Game=window.Game=Class.extend({
		init:function(id,resourseUrl){
			this.resourseUrl=resourseUrl;
			//获得画布ctx对象
			this.canvas=document.getElementById(id);
			this.ctx=this.canvas.getContext("2d");
			//图片路径对象
			this.RobjectTxt=null;
			//图片对象json
			this.Robject={};
			//帧编号
			this.f=0;
			this.actors=[];
			//游戏帧编号
			this.gt = 0;
			//鱼数组
			this.fishArr=[];
			this.senceNumber=0;
			//子弹数组
			this.arrBullet=[];
			//炮弹余量
			this.bulletCount=10;
			//炮弹信号量
			this.a = 0;
			//总分数
			this.score=0;
			//背景音乐
			this.bg_music=new Audio();
			//加载资源
			this.loadResource();
		},
		loadResource:function(){
			var self=this;
			//加载图片累加器
			var count=0;
			//设置页面初始图片加载文字
			self.ctx.font="28px 微软雅黑";
			self.ctx.textAlign="center";
			self.ctx.fillText("图片正在加载中.....",300,self.canvas.height*(1-0.618));
			//原生js Ajax请求
			var xhr = new XMLHttpRequest();
			xhr.onreadystatechange = function(){
			if(xhr.readyState == 4){
				if(xhr.status >= 200 && xhr.status < 300 || xhr.status == 304){
					//获得图片资源路径txt文件
					self.RobjectTxt=JSON.parse(xhr.responseText);
					//图片总数
					var imageAmount=_.size(self.RobjectTxt);
					//遍历图片资源路径txt文件,将图片对象设置完src属性并放入图片对象json中
					for(var k in self.RobjectTxt){
						self.Robject[k]=new Image();
						self.Robject[k].src=self.RobjectTxt[k];
						//监听图片加载事件
						self.Robject[k].onload=function(){
							count  ;
							//在画布上显示图片加载进度
							self.ctx.clearRect(0, 0, 800, 600);
							self.ctx.font="24px 微软雅黑";
							self.ctx.textAlign="center";
							self.ctx.fillStyle="white";
							self.ctx.fillText("图片已经加载到" count "/" imageAmount,300,self.canvas.height*(1-0.618));
							//判断是否加载完毕
							if(count==imageAmount){
								//开始游戏
								self.start();

							}
						}
					}
				}
			}
		}
		xhr.open("get",this.resourseUrl,true);
		xhr.send(null);
		},
		start:function(){
			var self=this;
			//new出场景实例 场景管理所有实例上
			this.sence=new Sence();
			this.sence.changeSense(self.senceNumber);
			this.timer=setInterval(function(){
				self.f  ;
				 self.ctx.clearRect(0, 0, 800, 600);
				//场景管理所有实例update和render方法
				self.sence.show();
				self.ctx.font="26px 微软雅黑";
				self.ctx.textAlign="left";
				self.ctx.fillText("帧编号: " self.f, 20, 20);
                if(g.senceNumber==1){
                    g.gt  = 0.04;
                }
                var h = parseInt(g.gt / 360);
                var m = parseInt((g.gt - parseInt(g.gt / 360) *360) / 60);
                var mm = parseInt(g.gt - h * 360 - m * 60);
                h = h < 10 ? "0"   h : h ;
                m = m < 10 ? "0"   m : m ;
                mm = mm < 10 ? "0"   mm : mm ;
                g.ctx.fillText("游戏时间: "  h   " : "   m   " : "   mm, 250, 70);
			}, 40);
            var self = this;

		}

	})







})()
//计算随机数
function rnd(m,n){
	return parseInt(Math.random()*(n-m) m);
}

实例下载地址

html5捕鱼达人 游戏源码

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

第 1 楼 huihui12138 发表于: 2019-07-22 18:32 20
?黑屏

支持(0) 盖楼(回复)

发表评论

(您的评论需要经过审核才能显示)

查看所有1条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警