摘要: 游戏屏幕最常见的就是一个变化较少的背景加上一系列和用户交互的角色和部件。为了方便管理你还可以为背景建个Group方便管理。但是有时候写的时候没有想到这个问题,或者是背景不是单纯的一个图片什么的,背景和角色还有一些混合逻辑分布在两个Stage里。我重写太麻烦,想想反正都是SpritBatch绘制出来的,用双舞台大不了多个摄像头。马上试试还真行。先看看Stage的draw方法:/** Renders the stage */ public void draw () { camera.update(); if (!root.visible) return; ... 阅读全文
posted @ 2012-01-09 13:50 夜明的孤行灯 阅读(7992) 评论(22) 推荐(9) 编辑
摘要: 在游戏开发中难免会需要模拟现实情况,一般常见的就是模拟物理世界。比如物体碰撞,车辆前进,物体下落等。也许有人会觉得原来有实现过一些效果没有看到用什么物理知识呢。在我看来引入物理引擎并不是必须的,但是这样可以让游戏更逼真。物理引擎的话首选Box2d,但是它是C++写的,直接用不方便。在Android游戏开发中使用物理引擎一般有三个比较好的选择:1.JBox2dBox2d的Java移植版本,速度有点慢。不过对于不熟悉C++的朋友而言这个可以拿来看看原理。2.Havok这个就不多说了,我怎么没有用过。3.Libgdxlibgdx用了jni封装了box2d,速度和易用性都不错。下面我们来看看一个示例, 阅读全文
posted @ 2011-12-31 13:21 夜明的孤行灯 阅读(9219) 评论(34) 推荐(10) 编辑
摘要: 最近写了一点小东西,想把代码放到网上。最先想到的是google code,没有其他什么说的,界面简单,使用方便。svn服务器速度也不错,校园网这个渣速也可以跑到40K/S。用着用着就觉得有点纠结了,因为仔细研究了一下sourceForge,觉得也不错,有点像移动到sourceForge上去。但是sourceForge的速度有点纠结了,还有满屏的英语…看着有点困难。而且建立项目的界面改了,有点不知所云。(可以切换到老界面创建项目)。仔细比较了一下觉得二者各有优劣,遂把随感随想写成博文,一方面给后来人参考,一方面想听听其他朋友的看法。1.google code优点:*毫无悬念,速度快,特别是SVN 阅读全文
posted @ 2011-12-19 22:37 夜明的孤行灯 阅读(2532) 评论(3) 推荐(0) 编辑
摘要: 本文使用的libgdx是0.92版本,和现在的最新版可能有一些不一样的地方。全文内容仅供参考。相机也可以成为观察者,最简单的例子就是魂斗罗。玩家操作角色前进,后退,跳跃等,显示的世界(就是后面的背景)会不停变化。其实就是相机的观察点(视角)的改变引起的。也许游戏的世界(背景地图)很大,比如10240*480,而设备的分辨率是800*480。现在游戏的角色在地图的最左侧,那么它的观察点就是(400,240)。随着角色的向前移动,观察点也变化,通常是y值变大。角色后退时y值变小。角色跳跃时,x值变化。(其实地图可能要稍微高一点,比如500,这样角色的跳跃才会有效果)。可以说相机是游戏开发的一个基本 阅读全文
posted @ 2011-12-06 18:42 夜明的孤行灯 阅读(9729) 评论(47) 推荐(8) 编辑
摘要: 本文使用的libgdx是0.92版本,和现在的最新版可能有一些不一样的地方。全文内容仅供参考。上几篇文章介绍了libgdx框架的一些基本类的用法,也夹杂着浏览了一下部分源代码,但是如果使用libgdx进实际开发?仅仅了解几个类是不够的,还需要对框架有具体和宏观的了解。1.应用的生命周期游戏应该高效和稳定,特别是对于android平台。目前的开发都是面向手机和平板。如果有效的管理资源,如何高效的运行都是非常重要的。试想一个制作优美,可玩性高的游戏运行于你的android手机上却10秒钟崩溃一次,运行时卡的如同在看漫画,这样的游戏是有合格的吗?Android一般不用管resize(),我们在cre 阅读全文
posted @ 2011-11-29 00:03 夜明的孤行灯 阅读(8468) 评论(8) 推荐(10) 编辑
摘要: 本文使用的libgdx是0.92版本,和现在的最新版可能有一些不一样的地方。全文内容仅供参考。上一篇说到UI,然后之前说到舞台,现在我们可以很轻松的构建一出戏了。因为actor类在绘制是以x,y值为基准,所以我们可以通过控制x,y值变化演员的位置,但是演员的其他效果需要配合Action类进行操作。Action类是一个抽象类,所有的具体实现都在com.badlogic.gdx.scenes.scene2d.actions包中。而包中的类依功能而言可以分为两类:控制Action表现Action控制Action没有直接表现效果,它操作的对象是表现Action。比如Delay。表现Action就是直接 阅读全文
posted @ 2011-11-18 18:22 夜明的孤行灯 阅读(69186) 评论(27) 推荐(10) 编辑
摘要: 本文使用的libgdx是0.92版本,和现在的最新版可能有一些不一样的地方。全文内容仅供参考。常用的UI类包括标签,按钮,勾选框,下拉框,图片,输入框,列表,滑动面板,滑条,分割面板。它们都在com.badlogic.gdx.scenes.scene2d.ui包中,都属于Actor,可以方便的纳入舞台的管理中。其实仔细看看UI类的实现代码不难发现其实它们都是大部分继承自Widget或者Table,如果需要自定义UI可以继承以上两个类(它们继承自Actor),这里要说明一下libgdx的布局部分使用了TWL,有兴趣的朋友可以去看看。在介绍每个控件之前我们先来看一下NinePatch,这是最近的一 阅读全文
posted @ 2011-11-16 23:37 夜明的孤行灯 阅读(14135) 评论(29) 推荐(10) 编辑
摘要: 本文使用的libgdx是0.92版本,和现在的最新版可能有一些不一样的地方。全文内容仅供参考。我们先看几个游戏截图再来理解何为舞台。请仔细观察图片中的元素,有些东西是不能动,有些可以动,有些有特效,有些没有。有些是按钮,有些是图片,但是其实它们都可以统一称为演员(Actor)。而整个游戏界面就是我们的舞台。再看一个射击类游戏博客已迁移,请访问:http://www.huangyunkun.com/2011/11/15/libgdx_4/ 阅读全文
posted @ 2011-11-15 00:03 夜明的孤行灯 阅读(15088) 评论(44) 推荐(17) 编辑
摘要: 本文使用的libgdx是0.92版本,和现在的最新版可能有一些不一样的地方。全文内容仅供参考。本来这篇想写场景的,但是昨天和群里一个朋友讨论了一下libgdx显示汉字的问题。以前没有注意到这个问题,发现还是蛮严重的,要是不支持中文,libgdx用着就有点不愉快了。我们来看看BitmapFont类,这是有关文字绘制的。看一下源码:public BitmapFont () { this(Gdx.files.classpath("com/badlogic/gdx/utils/arial-15.fnt"), Gdx.files.classpath("com/ba... 阅读全文
posted @ 2011-11-11 08:48 夜明的孤行灯 阅读(14947) 评论(42) 推荐(11) 编辑
摘要: 本文使用的libgdx是0.92版本,和现在的最新版可能有一些不一样的地方。全文内容仅供参考。首先了解一下何为texture。按照英文解释来理解:一个图片从原始格式解码并上传到GPU就被称为纹理。(说实话我不是很清楚这个的定义哈,求指点)为了绘制texture,常常使用几何来描述,通过几何对应的顶点来描述纹理。比如要描述一个矩形,可以通过描述每个顶点来描述矩形。要绘图时,首先要绑定纹理,然后传递一个几何描述给OpenGL进行绘制。而绘图的大小和位置由几何描述和OpenGL的viewport的设置共同决定。当然大部分的游戏都会让viewport的大小和屏幕一致。这就意味使用像素更容易让纹理绘制在 阅读全文
posted @ 2011-11-10 14:18 夜明的孤行灯 阅读(18271) 评论(32) 推荐(16) 编辑
摘要: 本文使用的libgdx是0.92版本,和现在的最新版可能有一些不一样的地方。全文内容仅供参考。Libgdx是一款支持2D与3D游戏开发的游戏类库,兼容大多数微机平台(标准JavaSE实现,能运行在Mac、Linux、Windows等系统)与Android平台(Android1.5以上即可使用,Android2.1以上可满功率发挥)。logo:地址:http://code.google.com/p/libgdx/首先下载最新的jar,我下载的是libgdx-0.9.2。新建一个Android项目,File -> New -> Project -> Android Project 阅读全文
posted @ 2011-11-10 00:35 夜明的孤行灯 阅读(18911) 评论(35) 推荐(23) 编辑
摘要: NSoup是JSoup的Net移植版本。使用方法基本一致。如果项目涉及HTML的处理,强烈推荐NSoup,毕竟字符串截断太苦逼了。下载地址:http://nsoup.codeplex.com/简单用法如下:NSoup.Nodes.Document doc = NSoup.NSoupClient.Parse(HtmlString);处理网络上的页面:NSoup.Nodes.Document doc = NSoup.NSoupClient.Connect("http://www.cnblogs.com/htynkn/").Get();但是遗憾的是NSoup默认的编码是UTF-8 阅读全文
posted @ 2011-11-05 19:06 夜明的孤行灯 阅读(4924) 评论(8) 推荐(2) 编辑
摘要: 翻看Android Api,无意看到了Linkify。按照Api的说明,Linkify可以转化符合匹配规则的文字为可点击的连接。感觉这个还是有点用处,下面来试一试。1.新建一个项目2.修改样式文件为了方便查看效果,添加一个EditText和一个TextView代码如下:<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orient 阅读全文
posted @ 2011-11-02 10:04 夜明的孤行灯 阅读(2869) 评论(0) 推荐(0) 编辑
摘要: 上一篇文章简单的使用了Ormlite一下,但是我觉得Ormlite出色之处就是对于需要字段,表等等的配置设计的比较好。下面来说说类的配置:如果我们开发的Android应用需要保持用户信息,那么现在新建一个类:UserAccount该类有六个变量: private int id; private String username; private String password; private Date regTime; private String tellphone; private String email;用eclipse生成get和set方... 阅读全文
posted @ 2011-11-01 00:03 夜明的孤行灯 阅读(1897) 评论(1) 推荐(1) 编辑
摘要: 在Jquery Mobile中如果要指定一个按钮,可以写成<a href=”Home/About” data-role="button">关于</a>但是在Html.ActionLink中会有一些问题<%=Html.ActionLink("关于","About","Home",null,new{@data-role="button"})%>这样写会报错的。目前的解决办法有两种1.<a href="<%=Url.Action("A 阅读全文
posted @ 2011-10-31 13:35 夜明的孤行灯 阅读(497) 评论(2) 推荐(1) 编辑
返回顶部