【实例简介】

【实例截图】

【核心代码】

(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].οnlοad=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捕鱼php,html5捕鱼达人 游戏源码相关推荐

  1. html5游戏开发 网页版-捕鱼达人游戏源码下载

    html5游戏开发 网页版-捕鱼达人游戏源码下载 来玩一把! 转载于:https://www.cnblogs.com/jsfoot/p/3215371.html

  2. html5 canvas简易版捕鱼达人游戏源码

    插件描述:html5利用canvas写的一个js版本的捕鱼,有积分统计,鱼可以全方位移动,炮会跟着鼠标移动,第一次打开需要鼠标移出背景图,再移入的时候就可以控制炮的转动,因为是用的mouseover触 ...

  3. HTML5/Canvas太空射击类小游戏源码

    下载地址 JavaScript HTML5/Canvas太空射击类小游戏源码,非常值得学习的一款js射击小游戏代码,美术有点老旧,但是代码是完全开源的,有参考价值. dd:

  4. java捕鱼达人_java捕鱼达人游戏(源码)

    [实例简介] java做的捕鱼游戏,有兴趣的小伙伴们可以看看了,源码非常详细. [实例截图] [核心代码] FishGame └── FishGame ├── bg │   ├── fishlight ...

  5. Cocos2d游戏源码下载分享

    对于很多新手来说,学习游戏开发不仅需要大量的技术文档.教程支持,我觉得一个完整的游戏源码那也是必须的,毕竟实践出真知嘛!遥想当年,为了完成大学每学期的工程实践课程,花了好多时间在网上收刨各种学习资料及 ...

  6. 捕鱼达人之蛇行亿年,蛇行亿年捕鱼棋牌游戏源码

    捕鱼达人之蛇行亿年,蛇行亿年捕鱼棋牌游戏源码 能陪聊也能写诗,自然语言处理技术到底有多牛了? 作为人工智能的一个重要分支,自然语言实现人与机器的自然交流.实际上,人工智能从一开始正是从自然语言处理发端 ...

  7. 基于html5制作3D拳击游戏源码下载

    今天给大家分享一款基于HTML5实现的3d拳王游戏源码.这款实例适用浏览器:360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗. 不支持IE8及以下浏览器. 在线预览 ...

  8. 飞机大战HTML5游戏源码,基于Canvas制作的网页版飞机大战游戏+飞机大战手机端

    简介: 飞机大战HTML5游戏源码是一款基于Canvas制作的网页版飞机大战游戏,画质精美的飞机大战手机端游戏源码 网盘下载地址: http://kekewangLuo.net/W1S2LQcqAT2 ...

  9. 微信html5小游戏源码70种

    2019独角兽企业重金招聘Python工程师标准>>> 微信html5小游戏源码70种 http://download.csdn.net/detail/csdddn/9419955游 ...

最新文章

  1. java8学习:用流收集数据
  2. 分组加密的常用工作模式(转载)
  3. html按钮控制播放暂停,外部按钮控制video视频的播放暂停
  4. sprint计划会议
  5. Angular @Effect监听指定Action类型的实现原理
  6. SAP SRM ABAP Webdynpro和CFCA usb key集成的一个原型开发
  7. lock mysql unlock_MySQL中的lock tables和unlock tables
  8. 安装win10和Linux双系统的个人经验
  9. 添加列属性_css多列属性
  10. mysql可重复读实验_Mysql可重复读测试
  11. Webpack 2 视频教程 009 - 配置 ESLint 实现代码规范自动测试 (上)
  12. BCGControlBar的使用方法
  13. redis LRU淘汰策略原理
  14. 使用perl统计单词(字母)
  15. java实现网络连接_Java 网络编程 | 菜鸟教程
  16. 数据分析之数据预处理、分析建模、可视化
  17. 电脑“减负”必备,分享一款优秀的重复文件查找工具
  18. 键盘按键介绍及快捷键
  19. WPF使用Blend
  20. 苹果CMS10原生APP修改版 影视APP源码附安装教程

热门文章

  1. 【嵌入式模块】FT232RL——一个带有ISP功能的USB转TTL模块
  2. 分布式数据库或成为新增量
  3. 伯努利分布(Bernoulli distribution)
  4. 情以何堪的伤感QQ日志分享:一句话,了断一切
  5. 简单聊聊FPGA的一些参数
  6. 快乐二级域名分发程序-美化版源码
  7. iOS App审核遇到的问题(持续更新)
  8. Yolo-v4的CSPNet(Cross Stage Partial Network)
  9. dCAM: Dimension-wise Class Activation Mapfor Explaining Multivariate Data Series Classification(DB)
  10. win7计算机建立无线网络连接不上,win7无线网络显示❌,win7连不上无线网显示红叉...