摘要:
博客已迁移,请访问:http://www.huangyunkun.com/现在像SAE这类的应用引擎已经比较多了,百度和腾讯都出了这样的东西。我很早的时候就开始用SAE,当时还为了迁就SAE学习了PHP(当时只支持PHP和另外一个什么语言)。后来SAE支持Java了,版本是6,容器是Jetty 7.4,而常用的框架也基本能跑。代码的部署使用svn,稍微有点麻烦。最近在做一个Java Web的练习,代码放在github上,每次上传到SAE很烦。项目使用Gradle管理,所以琢磨着怎么把自动发布到SAE这个事情交给Gradle来做。博客以搬迁,请访问:http://www.huangyunkun. 阅读全文
摘要:
AngularJS的一大特性就是Module的加载和依赖注入,本文将分析一下loader.js和最后这些代码文件是怎么组织和运行的。Loader.js该文件中只有setupModuleLoader函数,当然它的返回值是一个函数,包含了angular.Module的API。首先是位置,这些配置和模块保存在哪里var $injectorMinErr = minErr('$injector');var ngMinErr = minErr('ng');function ensure(obj, name, factory) { return obj[name] || (o 阅读全文
摘要:
上一篇简单的分析了AngularJS的项目结构,后面就开始分析具体的源代码了。从angularFiles.js中的定义可以看出有几个文件直接位于src根目录,并不是隶属于某个模块。这几 个分别是minErr.js,Angular.js,loader.js,AngularPublic.js,jqLite.js,apis.js。这几个提供了AngularJS中很基础的工具,比如angular.equals等,在文档中它们中的部分被归属于 Global API中。本文主要看看AngularJS的启动和JQuery绑定。博客已迁移,请访问:http://www.huangyunkun.com/2014 阅读全文
摘要:
最近开始接触AngularJS,确实是一个相当不错的东西,可以把很多东西简化掉。又对于其中的双向绑定等的实现很好奇,加之正在学习Javascript的东西,所以觉得从源代码这块开始深入学习AngularJs。获取AngularJs源代码虽然可以直接通过阅读最终的js文件来学习,不过总觉得这样入手不太容易,而项目源代码本身就是一块一块的,同时又配有测试,从这里开始学习的话应该比较容易一些。AngularJs的源码在github上,地址是:https://github.com/angular/angular.js。实现先获取到代码:git clone https://github.com/angu 阅读全文
摘要:
好久没有写博客了…元旦前赶紧写一篇吧…这些日子琢磨了一下gradle。对比起maven确实在配置上灵活很多,对groovy的支持可以更容易的自定义任务。由于最近的几个项目中都使用到了moco这个开源项目,它使用gradle管理,使用命令gradle uberjar可以生成一个独立运行包,这个包有8M大。我使用的环境比较特殊…8M有点大了,就琢磨这使用ProGuard给它瘦个身,效果不错,简单配置以后大小变成了4.6M,只有原来的57%了。在配置的过程中遇到了很多难题,google之后都没有什么中文参考,故记录下了这次尝试,分享给大家。博客已迁移,请访问:http://www.huangyunk 阅读全文
摘要:
这一篇主要是添加一些让游戏更人性化的东西,比如音效和加载画面,菜单等等。这其中用到了很多资源,主要出自以下几个网站,大家有需要也可以去上面寻找。http://www.freesound.org/添加音效首先是飞镖发出时候的音效,我希望是类似"bing"的一声,要短小精炼。我使用的是http://www.freesound.org/people/BMacZero/sounds/96132/libgdx支持的音频主要是WAV, MP3和OGG,其他的支持需要扩展支持。libgdx中的音频有两种,一种是sound,一种是music。一般所谓的音效使用sound,而音乐就使用mus 阅读全文
摘要:
上一篇介绍游戏雏形的编写,这一篇将完善部分逻辑并添加更多效果。例子代码在https://github.com/htynkn/DartsShaSha,如有需要请自行在tag中下载对应部分。完善飞镖逻辑现在的飞镖可以旋转可以飞行了,但是有一个问题却没有解决。首先飞镖的速度,如果用户触摸位置很靠近左侧,那么飞镖的速度就很慢了。其次,如果用户触摸中间位置,默认情况下飞镖应该是朝那个方向飞行,而不是飞到触摸位置就消失了。这里的处理办法很简单,就是根据用户触摸位置,算出一个X为480的值,这样飞镖就可以飞到最右侧,同时保持相当的速度。在createProjectile方法中添加float r = (tar 阅读全文
摘要:
写这几篇文章主要是看了这个系列的文章:http://www.raywenderlich.com/352/how-to-make-a-simple-iphone-game-with-cocos2d-tutorial这个系列主要讲述了如何使用Cocos2D编写简单的游戏。稍微读读感觉不错,所以想写个libgdx版本的。本篇文章主要讲述基本内容的编写,包括显示人物、怪兽和飞镖。最终效果如下图:获取libgdx你可以从libgdx的官网下载打包好的代码,我下载的是0.98版本。博客已迁移,请访问:http://www.huangyunkun.com/2013/02/14/libgdx-game-1/ 阅读全文
摘要:
写在最前面仔细看看,上一篇博文是10月5号了,有很长的时间没有写博客了。升入大三以后时间愈发的少了,要忙着各种事情,也在纠结该继续读书还是找工作,读书是读国内的还是读国外的…libgdx这个系列的文章开篇一年有余了,期间得到了很多朋友的鼓励和意见,总的来说感觉还是蛮不错的。想了很久,我决定给这个系列的文章画上一个句号。就原因来说是多方面的:第一是libgdx的版本从0.92到了今天的0.97版本,虽然总体架构变化不大,但是细节上的接口还是有很多差异了,早期的一些文章的实例代码可能无法直接运行了,我又没有精力细细检查和修改,可能新入手的朋友们会遇到一些问题。第二就是这个系列本身的问题,我开始写的 阅读全文
摘要:
什么是stacklabstacklab是中国开源云联盟(COSCL)和中国OpenStack用户组(COSUG)联合成立OpenStack实验室,简单的来说就是一个免费申请和使用OpenStack的平台,和国外的那个TryOpenstack有点像,不过stacklab没有门槛,不需要邀请码什么的就可以申请使用。稍微试用了一下感觉很爽,特意和大家分享一下。在stacklab建立镜像网址:http://stacklab.org/点击Register注册,验证完邮箱以后登录。在建立镜像以前先配置好Keypairs。博客已迁移,请访问:http://www.huangyunkun.com/2012/1 阅读全文
摘要:
Box2d是一个很出名的2d物理引擎,有C++、Java等等版本。libgdx对Box2D进行了很高效的封装,极大的降低了学习和使用成本。但是我觉得和Libgdx的UI库比起来,Box2D的使用始终比较复杂,单纯的物体降落什么的还好说,要是遇上一个特别复杂的物体,有时候就有点繁琐了。在网上游荡时发现了physics-body-editor,绝对堪称神器。physics-body-editor项目主页:http://code.google.com/p/box2d-editor/复杂对象的创建只需要用鼠标点点就行了。工具可以到处Json格式的文件,还可以用于其他环境中。对于Libgdx而言,该项目 阅读全文
摘要:
libgdx的ui库可以实现一些动画效果,但是做游戏来说可能有些不足。Universal Tween Engine是一个纯java实现的动画库。地址:http://code.google.com/p/java-universal-tween-engine/只要能够用float表示的一切java对象它可以让它动画化,可以使用于Libgdx、Android、Swing等等。Universal Tween Engine使用一般流程使用Universal Tween Engine最重要的一个步骤就是实现TweenAccessor接口,这个接口定义了getValues和setValues方法。然后Eng 阅读全文
摘要:
前面有一篇文章介绍了用TWL进行布局,最近做其他java的东西接触到了table-layout,用着很不错,仔细看来一下文档,原来还支持libgdx。简单试用了一下,比TWL好使多了。TABLELAYOUT简介TABLELAYOUT是一个轻量级的UI组件布局库。使用表格实现,有点像HTML的TABLE。它支持libgdx, Swing, Android和TWL。支持Java API和配置文件两种方式。同时有个配套的编辑器http://table-layout.googlecode.com/svn/wiki/jws/editor.jnlp使用配置文件其实最好的方法应该是使用配置文件,这样便于修改 阅读全文
摘要:
好久没有更新这个系列的文章了。今天下午在群上讨论libgdx对中文的支持问题。本来Hiero做是最好的,但是LIbgdx的BitmapFont不支持多图,常用汉字3500个,是在做不到一张图上。libgdx很早之前就有ttf的支持了,不过那个时候有点问题。经测试新版本(0.96)完全支持,特地总结出来和大家分享。TTF字库TTF(TrueTypeFont)是Apple公司和Microsoft公司共同推出的字体文件格式,随着windows的流行,已经变成最常用的一种字体文件表示方式,应用范围非常广。如果是Windows操作系统,可以从Fonts文件夹中找到很多字库。也可以从网上下载。我推荐YaH 阅读全文
摘要:
什么是Guava-Libraries?Guava-Libraries是google对java的一个扩展,主要涵盖集合、缓存、并发、I/O、反射等等。它本来是Google内部所使用的一个类库,后来整理开源出来了。这套库的设计引入了很多新的理念,研究一下可能会使你对Java这门语言有新的认识和看法。地址:http://code.google.com/p/guava-libraries/这篇短文主要是关于Guava-Libraries基础工具,内容是我参考官方wiki和自己的使用体验结合而成。null的使用null在java中是一个很特殊的东西。它可以标识一个不确定的对象,比如Ojbect o = 阅读全文