JavaScript实现H5游戏断线自动重连的技术

断线重连的需求尤其是手机上,会因为网络的不稳定或者其他原因,导致用户的socket链接断开。这个时候如果直接让玩家退出游戏,重新登录,无疑是非常影响用户体验的事情。所以根据这个需求,就有需要程序来实现断线后自动重连回去的技术,是用户能够再次快速开始游戏进行战斗。一、断线重连原理原来其实很简单,就是在断线的时候,根据用户的点击(有些时间短的就不用点击,默认是自动重连回来),程序自动识别,是要刷新重新进...
阅读(6195) 评论(6)

JavaScript Canvas2D实现SpriteSheet角色动画

一、SpriteSheet目前市面上H5游戏的图片资源,基本都是采用SpriteSheet打包成图集来使用的。这样可以减少网络加载的次数,从而提升性能。另外的原因就是随着webgl的普及,把多张图片打包成一张纹理,减少纹理的频繁上传,这样也可以提升性能。本文主要是讨论使用Canvas实现的2D序列帧动画的SpriteSheet的解析和动画播放。二、实现准备 使用HTML DOM CanvasRend...
阅读(2428) 评论(2)

H5手游页游的资源版本管理(带Egret例子)

Html5网络游戏和网页游戏,是属于打开浏览器就可以直接玩的,而且是边玩边下载的游戏。 由于每个版本更新,只是更新一小部分资源,如果每次进行版本更新都导致用户重新加载全部游戏资源,那么会导致用户消耗的流量以及不能快速进入游戏,严重影响体验。所以需要对网络资源加载这一块做深入的分析研究,拿出一个资源管理方案。一般浏览器都会有缓存url对应的中资源,只有当url改变的时候才会进行重新加载,根据这个特性...
阅读(1814) 评论(1)

加载zip压缩的javascript代码以及在Egret H5实际应用

随着H5游戏项目越做越大,那么随之而来的javascript也越来越来大。下面是来自实际项目使用的技术分享,从最开始的简单压缩应用到最后的Egret H5项目实战。主要起因是策划对最快进入登录界面有硬性要求(3秒),那么最开始加载的文件越少越小越好。对H5的游戏程序进行压缩,可以大大缩小应用程序的加载时间。本文分两个主题, 普通的javascript代码解压使用 实际Egret游戏项目的javas...
阅读(3395) 评论(14)

如何使用JSZip(How to use JSZip)

最近在用jszip来压缩script脚本以及相关的配置文件,所以详细了解了下它 , http://stuk.github.io/jszip/ JSZip是一个用于创建,阅读和编辑.zip文件的JavaScript库,具有友好而简单的API。 下面简单地翻译下这里的文章 http://stuk.github.io/jszip/documentation/examples.html JSZip的一个实例代表一组文件。您可以添加,删除,修改它们。您还可以导入现有的zip文件或生成一个。...
阅读(1350) 评论(0)

创建和调试Egret5.0的WebAssembly项目

一、Egret5.0Egret升级到5.0了,增加了他们说的黑科技:WebAssembly。但是直接使用官方创建5.0的WebAssembly项目例子,竟然无法跑起来。结合了一下4.1.0的版本以及5.0的介绍,查找了相关资料,总算解决了相关问题,可以正常跑起WebAssembly工程了。这里总结一下相关的错误以及开发过程。二、创建WebAssembly项目直接使用EgretWing工具进行创建一个...
阅读(1185) 评论(0)

JavaScript和TypeScript的单例写法(面向对象)

一、单例类的作用在我们平时开发H5游戏过程中,有某别对象,希望在内存中只有一份实例,其他任何地方想要获取到这个实例,只能通过这个类提供的静态方法来获取到实例,而任何地方进行new来进行构造的话,都会报错。总结一下这个单例类的要求 这个类只允许进行一个new的调用构造函数行为 提供静态方法来访问唯一实例 提供重复new会报错的设计 具备合理优化的设计模式 二、单例设计模式后面是借鉴的AS3的经典写法,...
阅读(1204) 评论(0)

解决前端Html5和Egret跨域请求Http数据的例子

最近在做平台的接入,需要做一些像其他web服务器请求相关数据的功能。那么就遇到了一个跨域请求网络数据的问题了。这里记录一下相关的解决方案。一、服务端修改Header 最主要是服务端支持服,返回的时候必须增加一个Header AddHeader("Access-Control-Allow-Origin","*");实际部署的时候,* 应该修改为指定的域名 2. 客户端使用XMLHttpRequest...
阅读(4027) 评论(2)

H5(JavaScript/TypeScript)慎用constructor.name作标识

做个简单的错误笔记,主要是使用js的原型构造函数名字作为唯一key引起的错误。 开发语言:TypeScript/JavaScript 开发工具:白鹭工具和引擎(Egret)prototype.constructor.name引起的错误最近在做项目写底层的时候,为了底层的通讯和便捷性,预先缓存了类(构造函数),其中有一种方式,是通过prototype.constructor.name来作为key绑...
阅读(1165) 评论(0)

JavaScript的Console扩展和输出级别控制

扩展Console的原由Console作为日志输出调试的功能还是很强大的。可以打印正常的日志信息,错误信息(log,info,warn,error)等等,还可以详细详细显示函数调用栈,信息的输出函数名以及代码位置,功能可谓非常强大。 但是有个问题就是无法根据日志的等级来自由控制输出权限。比如我设置一个等级,只能输出warn和error这样。虽然有可能发布的时候,会把Console基本有从代码中...
阅读(1091) 评论(2)

TS/JS错误:TypeError: Cannot read property 'prototype' of undefined

总结一下解决这个错误的引起和过程。 错误信息:TypeError: Cannot read property ‘prototype’ of undefined 开发语言:TypeScript 编译后语言:JavaScript 开发工具:LayaAir今天在调试一个新写的框架的时候,突然出现这个问题。 一般情况下,出现这个问题,是缺乏相应的js文件,但是看了一下html文件,发现相关的js文...
阅读(2035) 评论(0)

WebStorm强大的调试JavaScript功能

一、JavaScript的调试目前火狐和Chrome都具备调试JavaScript的功能,而且还是相当的强大。如果纯粹是用浏览器来进行js调试的话,我比较喜欢用火狐。火狐可以安装各种插件,真的是非常适合开发者。不过今天的主角并不是火狐,也不是Chrome,而是号称最智能的JavaScript IDE:WebStorm。 WebStorm 是jetbrains公司旗下一款JavaScript 开发...
阅读(14621) 评论(0)
    个人资料
    • 访问:291166次
    • 积分:4040
    • 等级:
    • 排名:第8213名
    • 原创:90篇
    • 转载:7篇
    • 译文:6篇
    • 评论:193条
    博客专栏
    最新评论
    Flash