弃天笑的程序世界

专注于游戏开发。AS3、JavaScrirpt/TypeScript、Java服务端、持续集成,自动化流程...

排序:
默认
按更新时间
按访问量

新仙剑奇侠传H5上线测试了

公司这几个月开发的新H5项目上线测试了。正版的仙剑奇侠传授权,目前在爱微游和疯狂平台开服测试,属于挂机类型的ARPPG游戏,有兴趣了解H5游戏的同学可以去玩玩看。有时间会写写相关的经验总结,踩的坑还是有一些的。 开发引擎:Egret 开发语言:TypeScript 爱微游的游戏地址:新仙剑奇...

2017-08-31 20:27:26

阅读数:3964

评论数:4

Java根据SVN版本号生成H5游戏资源版本

版本号自动化需求H5游戏的庞大资源,每个资源的版本号不可能是手动维护,必须采用脚本或者软件来自动生成。具体的版本号管理的问题,可以看我上篇文章:H5手游页游的资源版本管理。 以及另外一篇关于版本号的文章:Java自动生成H5游戏资源版文件的版本号 这里大部分原理机制是一样,生成的文件基本一样,只...

2017-09-30 10:45:34

阅读数:4332

评论数:28

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

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

2017-08-29 12:45:26

阅读数:7982

评论数:8

JavaScript Canvas2D实现SpriteSheet角色动画

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

2017-08-23 20:01:09

阅读数:3167

评论数:2

Java自动生成H5游戏资源版文件的版本号

版本号自动化需求H5游戏的庞大资源,每个资源的版本号不可能是手动维护,必须采用脚本或者软件来自动生成。具体的版本号管理的问题,可以看我上篇文章:H5手游页游的资源版本管理。本文主要是用java实现了读取所有的资源文件,并且根据文件的日期生成相应的版本号,保存在一个文件里面,最终生成全部文件的版本号...

2017-08-16 23:24:38

阅读数:2918

评论数:2

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

Html5网络游戏和网页游戏,是属于打开浏览器就可以直接玩的,而且是边玩边下载的游戏。 由于每个版本更新,只是更新一小部分资源,如果每次进行版本更新都导致用户重新加载全部游戏资源,那么会导致用户消耗的流量以及不能快速进入游戏,严重影响体验。所以需要对网络资源加载这一块做深入的分析研究,拿出一个资...

2017-08-16 11:12:57

阅读数:3563

评论数:1

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

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

2017-07-31 13:30:42

阅读数:5388

评论数:18

如何使用JSZip(How to use JSZip)

最近在用jszip来压缩script脚本以及相关的配置文件,所以详细了解了下它 , http://stuk.github.io/jszip/ JSZip是一个用于创建,阅读和编辑.zip文件的JavaScript库,具有友好而简单的API。 下面简单地翻译下这里的文章 http://stu...

2017-07-25 09:56:55

阅读数:7978

评论数:0

解决Jenkins无法编译Egret5.0项目的问题

Egret4.0升级Egret5.0导致Jenkins无法编译项目项目升级到Egret5.0,同时也把Egret的引擎工具更换为EgretLauncher,结果出现问题,原来跑得好好Jenkins,突然无法进行编译了。(以前4.0的时候是好好的)。花费了一些功夫,追踪了Egret引擎的相关编译,最...

2017-07-20 13:24:19

阅读数:1854

评论数:0

Jenkins搭建Egret H5开发的自动化构建(持续集成)

一、H5游戏开发进行H5游戏开发,不仅仅是开发这边事情,还会涉及到美术、策划、以及测试。所以必须为他们也搭建一些运行程序,以便可以及时地了解和测试到最新的开发进度。同时游戏本身也会分成诸多版本,例如测试版、稳定版、数值版、外服等等。这一列的游戏运行环境,总不能手工去进行游戏开发内容的同步,必须做到...

2017-07-16 23:05:29

阅读数:2290

评论数:1

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

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

2017-07-04 00:35:00

阅读数:2017

评论数:0

自动更新打包压缩Json并上传svn的bat脚本

一、原由策划用xlsx导出多个json数据之后,需要打包成一个大的json文件,然后这个客户端程序需要用这个文件。那么问题来了,策划不想要每次都需要手动做操作,希望程序写个脚本,每次只要执行脚本,就可以完成一整套动作,最后上传更新到服务器去。要求: 全自动流程 不需要更改脚本之类的(...

2017-06-26 21:27:53

阅读数:1403

评论数:2

FlashBuilder精选插件

这个是12年发布在天地会论坛的文章,发现没有在csdn发布,所以就转过来当备份了。同时加上自己的使用心得。 所谓磨刀不误砍柴工,这些插件可以让你的ActionScript编程事半功倍哦!有些是自己在open-oepn的插件列表一个个找的,有些是在网络上搜集的,以后有了新的插件,也会陆续更新。一、...

2017-06-15 20:51:07

阅读数:1118

评论数:0

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

一、单例类的作用在我们平时开发H5游戏过程中,有某别对象,希望在内存中只有一份实例,其他任何地方想要获取到这个实例,只能通过这个类提供的静态方法来获取到实例,而任何地方进行new来进行构造的话,都会报错。总结一下这个单例类的要求 这个类只允许进行一个new的调用构造函数行为 提供静态方法来访问唯一...

2017-06-11 21:56:29

阅读数:4042

评论数:0

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

最近在做平台的接入,需要做一些像其他web服务器请求相关数据的功能。那么就遇到了一个跨域请求网络数据的问题了。这里记录一下相关的解决方案。一、服务端修改Header 最主要是服务端支持服,返回的时候必须增加一个Header AddHeader("Access-Control-Allow-...

2017-06-08 20:22:41

阅读数:8646

评论数:3

IntelliJ IDEA 2017 打包jar和相关问题处理

记录一下自己用IntelliJ IDEA打包jar的问题。主要是最近写了tinify的java版,打包jar出了点小问题,所以在这里记录一下。 先简单介绍一下用IntelliJ IDEA打包的流程,后面有就遇到的打包问题来说明如何解决。一、jar打包流程IntelliJ IDEA本身已经做得很强...

2017-06-07 22:54:27

阅读数:9607

评论数:14

Tinify API批处理压缩PNG和JPG(Java版本)

因为工作的需要,所以用Tinify的Java API写了一个批处理小程序,主要是用来自动压缩UI和美术工具生成的新图片。在这里就分享出来,如果只是单纯的开发,其实真的是很简单,官方给的教程就很清晰了。稍微麻烦点的是搭建java的运行环境什么的以及下载相关的依赖包,可能会遇到一些问题。 这里只简单...

2017-06-06 21:29:56

阅读数:2801

评论数:3

IntelliJ IDEA优秀插件(编程通用)

一、IntelliJ IDEA开发最近大部分开发IDE工具都切换到了,所以也花了点心思去找了相关的插件。这里整理的适合各种语言开发的通用插件,也排除掉IntelliJ IDEA自带的常用插件了(有些插件在安装IntelliJ IDEA的时候可以安装)。二、IDEA插件安装IDEA的插件安装非常简单...

2017-06-03 21:32:51

阅读数:81233

评论数:7

开发H5游戏引擎的选择:Egret或Laya?

一、H5游戏开发的引擎介绍开发H5游戏的引擎有很多,比如egret、laya、cocos-js等等。这里主要是分析的是egret和laya,因为我们团队是从as3转过来的。所以天然地在有as3基因的egret和laya之中挑选一个。 Egret Egret Framework是一款使用Jav...

2017-06-01 22:20:16

阅读数:29795

评论数:15

Egret4.1.0的高清文本显示效果设置

用过Egret4.0.3的人都知道,文本显示有点模糊的问题。在论坛上查了资料,回答是4.1.0会进行修复。所以官方一升级引擎,就赶紧对项目进行升级了。先看看官方的升级信息吧:Egret4.1.0 Egret Engine 4.1.0 2017-05-23 更新日志 命令行...

2017-05-24 12:44:32

阅读数:2534

评论数:0

Tinify Java API中文参考文档

自己刚用Tinify Java写了一个批处理压缩图片的程序,所以想着顺带把这个教程给翻译了。最后发现翻译还是挺花时间的。自己写程序的时候,只是简单看看就明白,用api就可以直接写程序了。而且现在翻译软件很强大,用来开发看是够用了。翻译就不一样了,有些语句还得斟酌一样,排版一下,用翻译软件帮忙了,最...

2017-05-23 14:43:40

阅读数:1620

评论数:0

同时开发两款H5的ARPG游戏的设计和实践

前话这里主要是想记录一下自己的想法,以及一些设计思想,然后在实际开发过程中,是否会遇到一些自己所想不到的事情,以及怎么的解决过程。事实上,写这种文章,远比写技术性的文章难多了,个人感觉还很难写好。这里写也仅是自己的观点,一种想法和思考,不代表完全正确,共勉而已。一、开发背景两款ARPG游戏,一款相...

2017-05-21 14:24:51

阅读数:3333

评论数:1

解决白鹭的EgretWing工具残留多份问题

使用白鹭引擎开发H5,因为用到了白鹭提供的EgretWing工具,目前主要是用来发布。但是偶尔也会调试一下的。但是有个问题,就是经常调试关闭之后,会出现EgretWing残留的问题,导致内存中很多分EgretWing,然后电脑就变卡了。手动删除很麻烦。所以就写了个小脚本来删除,没什么技术含量,纯粹...

2017-03-24 20:25:42

阅读数:1644

评论数:0

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

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

2017-03-22 20:55:04

阅读数:1986

评论数:3

网游通讯传输可变长度的数值和数组

何为可变长度的数值(int,long等) 其实现在大部分网络游戏(端游、页游、手游都一样),在客户端和服务端通讯,关于数值都会采用可变长度的方式来传输,从简而减小通讯量。 一般情况,客户端和服务端进行网络的socket通讯,都是采用二进制数值来进行的(也有采用字符串)。 可变长度的int是指...

2017-03-20 21:53:56

阅读数:820

评论数:0

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

扩展Console的原由Console作为日志输出调试的功能还是很强大的。可以打印正常的日志信息,错误信息(log,info,warn,error)等等,还可以详细详细显示函数调用栈,信息的输出函数名以及代码位置,功能可谓非常强大。 但是有个问题就是无法根据日志的等级来自由控制输出权限。比如...

2017-03-09 19:49:51

阅读数:2228

评论数:2

2D游戏平滑的迷雾战争效果

最近刚好有做2D游戏的点光源效果,然后就扩展一下,研究了一下战争迷雾的效果。主要是想实现类似魔兽争霸那种人物走动,然后黑色的战争迷雾随着人物的移动渐渐打开的效果。使用具有渐变透明图片作为光源来使得战争迷雾呈现出平滑的效果。本文后面介绍了两个简单的实现方法,效果有细微的差别,有兴趣的同学可以分别研究...

2017-03-08 09:51:40

阅读数:3504

评论数:0

2D游戏新手引导点光源和类迷雾实现

一、新手引导需要的遮罩效果一般做新手引导的时候,会把游戏画面变的半黑,然后需要玩家点击的地方就亮起来。常用的做法是采用遮罩来实现,但是只能实现方形的,不能不规则图形,以及是完全挖空,做不到渐变效果(除非美术直接出整张资源)。表现效果如下: 实事上,我们想做把那个透明框做得更自然一点,更好看一...

2017-02-24 09:50:27

阅读数:1926

评论数:0

页游《火影忍者》角色和背景遮挡半透明效果的实现

这里讲的是关于2D游戏的角色和背景以及物体之间的遮挡关系,用半透明角色处理的讨论和实现方式。这里主要是讨论关于页游《火影忍者》里对于角色和背景物体之间的遮挡处理方式。同时也实现了和他一样的效果(可能)。具体是没分析火影的代码,只是猜测了它的原理然后进行实现的。其他的几种实现方式则简单的讨论,一笔带...

2017-02-23 12:53:24

阅读数:1685

评论数:0

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

总结一下解决这个错误的引起和过程。 错误信息:TypeError: Cannot read property ‘prototype’ of undefined 开发语言:TypeScript 编译后语言:JavaScript 开发工具:LayaAir今天在调试一个新写的框架的时候,突然出现...

2017-02-08 19:51:47

阅读数:7987

评论数:0

《编写可读代码的艺术》读书笔记

发现以前看《编写可读代码的艺术》做的思维导图,今天有空就放上来了。 个人觉得这边还是挺值得看的,尤其是新人,可以很好的遵循里面的一些编码规范,养成好习惯。 就算是老鸟,也是可以参考总结一下的,我是前后一段时间看了两边,感觉还是蛮有收获的。 写代码,除了给自己阅读之外,还需要给别人阅读。所以一...

2017-01-21 18:36:17

阅读数:738

评论数:1

WebStorm扩展工具(External Tools)调用Bat脚本小结

最近用java写了个小程序,用来检测TypeScript项目里的js文件,然后在对应的html文件里插入引用,比如<script src=TestModule.js></script>主要的目的是为了每次增加一个TypeScript或者JavaScript文件,然后再自动插...

2017-01-10 20:39:16

阅读数:2236

评论数:0

用WebStorm开发TypeScript

为什么是TypeScript最近在做H5的游戏,最终选定的TypeScript作为开发语言。主要是看重他有强类型和Class,作为习惯使用AS3,Java等强类型编程的人来说,还是习惯这种编程写法。听一些直接使用javascript开发稍微大的游戏的同事说,没有强类调试什么的都比较困难。我个人平时...

2017-01-07 15:54:33

阅读数:13933

评论数:0

WebStorm强大的调试JavaScript功能

一、JavaScript的调试目前火狐和Chrome都具备调试JavaScript的功能,而且还是相当的强大。如果纯粹是用浏览器来进行js调试的话,我比较喜欢用火狐。火狐可以安装各种插件,真的是非常适合开发者。不过今天的主角并不是火狐,也不是Chrome,而是号称最智能的JavaScript ID...

2017-01-06 20:28:47

阅读数:34143

评论数:0

最新安装win7和linux双系统(unbutu16.04)

一、win7和linux最近在折腾linux系统,选择了unbutu,同时还保留win7系统。所以在这里主要是记录一下在win7上面安装linux系统的过程,参考了网上的一些文章。本人是安装成功了,win7和unbutu都可以进。二、制作unbutu16.04的U盘安装盘 unbutu系统下载 ...

2016-12-15 21:03:25

阅读数:1382

评论数:0

FlashBuilder(Eclipse)的颜色风格插件

一、护眼和潮流整天面对FlashBuilder白色编程界面真是太单调了,就算使用来了管家的护眼模式,也只是让白色变成绿色。作为一名程序员也应该顺应潮流,不应该一成不变,现在都流行暗黑主题,让FlashBuilder变得跟Sublime text一样风骚的显示效果吧。通过安装相应的颜色插件,得到下面...

2016-12-07 21:03:03

阅读数:2294

评论数:3

Eclipse4.2安装FlashBuilder插件

一、原因使用Eclipse安装FB的插件的原因,是因为想给FB安装颜色插件。但是颜色插件需要比较高版本的Eclipse支持。而FB的Eclipse版本比较老了(FB4.7的Eclipse版本才3.7),又没有升级了,无奈想法子提升Eclipse的版本,同时寻找安装FB插件的方法。之所以使用Ecli...

2016-12-07 20:45:45

阅读数:2082

评论数:0

AutoHotKey和Bat脚本:开机延时启动多个程序

一、开机启动由于开机进入桌面之后,需要在自动开一些软件,比如桌面微信、企业微信、番茄钟、GTD,TC等一些日常使用,又必须长期存在的软件。如果直接把这些软件设置为开机启动,则会造成开机进入桌面的时候非常卡。这个时候,就想要一个可以像队列一样来启动一个个自己想要启动的程序,比如设个5秒启动一个应用程...

2016-12-06 09:29:14

阅读数:3683

评论数:0

Unity3D的Generic和Legacy动画例子(C#脚本)

现在网上虽然讲解Unity3D动画的文章不少,但是却少很少带实际例子的。刚好我之前给美术做了个简单的例子,所以整理一下就共享给大家了。主要是做了两种动画,分别有例子,按空格可以改变动画。具体的制作过程不会非常详细(写的过程中,Generic被我写得有点详细了:),这里假设大家都是有一定的编程或者U...

2016-11-25 22:27:43

阅读数:4759

评论数:4

快速上手Total Commander的经验分享

TC至少装过2次,然后又没坚持下来用,直到后来慢慢地感受到了几个非常爽快的功能点,就坚持了发现,越用真发现博大精深,很多非常强大并且神奇的功能等我们用。那么我会记录一些个人感觉知道和了解,并且使用之后,会深深得喜欢上TC的功能点。1. 快速跳转文件夹 ctrl + D这是最经典快捷键了,我也是因...

2016-11-24 23:06:21

阅读数:9458

评论数:9

Total Commander快捷键分类整理大全

主要是针对网上的一些快捷键教程和TC的帮助文档里的快捷键文章,然后根据自己的使用经验进行的快捷键整理。有可能没整理齐全,后面会有相关的链接,有需要的可以直接跳过去看。一、 常用入门级别平时使用频率比较高的快捷键,慢慢变成一个键盘党。 * F3:这个恐怕是使用程度最高的快捷键了,专门用来查看文件。...

2016-11-23 22:04:54

阅读数:1928

评论数:0

最新Eclipse搭建C/C++开发环境

一直都是比较喜欢Eclipse的开发环境,但是网上的一些教程有些都是好几年前了的(有些还讲安装CDT插件的,其实现在已经直接出Eclipse的C/C++版本了),不过大部分也还是可以配置成功的。现在配置Eclipse编写C/C++已经简单很多了。所以准备写个最新的,当记录起来,也方便以后自己查看。...

2016-11-19 22:11:47

阅读数:14552

评论数:5

FlashBuilder4.7读取FlashCS导出SWC的JPG图片为空的问题

事因平常我们做页游项目的时候,比较少用到从FlashCS里导出SWC里面的图片,就算有也是Png,jsp是非常少的了。对于习惯使用FlashBuilder的人来说,如果要用图片,就直接采用嵌入图片了。[Embed(source="assets/play.png")] 所以这次做...

2016-10-31 20:06:41

阅读数:709

评论数:0

用字节数组存放二维地图数据

一 二维地图数据内容在RPG的大地图中,我们往往会分割成很多小块(逻辑上),用于玩家行走,比如使用A星寻路等等,就需要的二维地图数据。一般情况,存放的是数值,主要是指每个格子里的数值,这里的数值是指我们赋予他的需要表示的内容。例如:0,0,0,0,1,1,0,0,1,1,1,0,0,0,2,0,1...

2016-10-26 21:53:02

阅读数:1424

评论数:0

AS3自定义元数据标签和FlexSDK编译支持

前言关于自定义元数据标签,网上已经有不少资料了。不过大部分都是讲怎么在代码里使用,但是关于怎么编译到swf里面去,在实际编译后怎么运行却很少提及。所以我在这里会稍微提及一下元数据标签,后面重点会讲怎么把自己的标签给编译到swf中,使得在实际项目中可以使用(注意,debug方式是可以保留元标签数据的...

2016-10-21 21:53:52

阅读数:835

评论数:0

《卓有成效的程序员》笔记

最近重新把《卓有成效的程序员》的书重新看了一遍,一遍看边做笔记体会(后面整理出一张思维导图了),再结合自己的最近几年的实践,依然感觉还是有收获,这确实是一本非常棒的书。即时他里面有些软件介绍可能已经过时或者新出现了一些优秀软件。但是这些并不妨碍他思想和方法的优越性。 这个本书最适合刚开始编程入门的...

2016-10-02 21:12:04

阅读数:926

评论数:1

FarManager3 打开界面混乱问题

FarManager3 打开界面混乱问题简单介绍下:Far Manager是一个文件管理器,分左右两个窗口,可以对文件任意的复制、移动、删除、查看、编辑等操作,也可以对目录进入操作。一直是Total Commander的.虽然这个神器很强大,大部分情况下是够用了。但是有时得在命令模式下操作更方便,...

2016-09-19 21:28:30

阅读数:1370

评论数:0

Away3D制作怪物跟随名称

Away3D4.1版本 这个是简单的例子,在原来的Away3D的MD5的例子上做了修改。 主要是测试Sprite3D。Sprite3D可以看成3D里的平面,也就是说你放一张贴图进去,始终都是平面的,这样就适合做怪物头顶的名字了。当然,有些特效也是可以做的。 只是增加了一个简单的文本生成图片的...

2013-01-28 21:43:52

阅读数:3888

评论数:0

23号广州天地会的演讲ppt(WebGame的AS开发心得)

由于时间的关系,很多内容没有讲到,以及相关的demo也没有演示。 之后会抽取时间整理一下,再发一些文章出来。 当然,大家有问题可以讨论 主题简介:AS游戏结构,网络通讯,图像缓存以及优化,资源管理,日志调试以及其他一些细节的经验心得的分享(成为主程需要掌握和注意的东西哦) 下面可以...

2011-10-25 21:57:18

阅读数:2512

评论数:0

Cruisecontrol相关问题

用cruisecontrol来发布项目以及编译程序好一阵了,总结了一下相关问题,当初自己也遇到过的,希望对大家有帮助 1.cruisecontrol编译swf问题 如果直接对相对路径的话,会报 mxmlc错误: 无法打开“src“ 这里mxmlc很奇怪,直接用ant编译的话,这个build....

2010-09-06 09:53:00

阅读数:2313

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭