|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
j2EE和asp比较,其实也没什么比的,原因和我上面说那些比较差不了多少,也是稳定性,安全性,J2EE比asp高,速度上比不过asp,asp也是延续着它的拖拽控件的方法,提高速度。
游戏开辟,好年夜的一个命题哦。不管是游戏的剧情计划,仍是游戏的美工制造,那都不是一两下子可以完成的事,而编程,只是个中的一小部分。可是,就算是这一小部分,我也不成能把它把握得很透辟。这篇漫笔,年夜部分都是些抄书的工具,次要是为了我的博客的完全性而存在,可是我仍然会全力把它写好,要让那些精晓Java别的范畴可是却没无机会做J2ME开辟的妙手们看看图片解解馋,让那些想做手机游戏开辟的同仁们看看J2ME的GameAPI事实为我们供应了哪些撑持,让我们晓得写游戏必要懂得哪些观点。
先来懂得一下MIDP2.0的游戏开辟包,不必怕,这组API很简便,只要戋戋5个类,它们都位于javax.microedition.lcdui.game包中。它们分离为GameCanvas类、Layer类、LayerManager类、Sprite类和TiledLayer类。上面分离来先容一下各个类的用处。
1>GameCanvas类
GameCanvas类是Canvas的子类,它代表了游戏的基础界面,复杂一点说,就是一切的游戏画面都是在GameCanvas长进行绘制的。那末GameCanvas和Canvas比拟,事实供应了些甚么更初级的功效呢?次要有两点:1、完成了双缓冲功效;2、供应了轮询键盘输出事务的办法。
双缓冲人人一定很熟习,就是我们画图的时分先把图像绘制到一个缓冲区中,等图像绘制完成后,再一次性显现到屏幕上,如许,就能够无效打消闪灼和画面扯破等征象。在GameCanvas中,我们能够经由过程getGraphics()办法获得缓冲区的Graphics对象实例,能够经由过程flushGraphics()办法来将缓冲区的内容显现到屏幕上。
轮询键盘输出事务有甚么用呢?要回覆这个成绩,我们起首要懂得一些基础的游戏框架,在年夜部分游戏中,都存在一个主轮回,这个主轮回决意了我们的游戏以每秒钟几步的频次运转,而在每步中,先查询有没有键盘输出事务,再运转游戏的逻辑运算,最初更新画面,然后再进进下一步。在Canvas中,键盘的输出事务都是经由过程回调的体例举行的,也就是说当有按键按下的时分,挪用keyPressed()办法,如许的功效一定不克不及够满意我们如许的每步都要查询键盘输出的请求。经由过程挪用getKeyStates()办法便可轮询键盘。
2>Layer类
这是一个笼统类,我们其实不间接利用它,而是利用它的两个子类——Sprite类和TiledLayer类
3>Sprite类
Sprite是精灵的意义,这是一个游戏开辟的专着名词,在我们游戏中的每个对象,我们都能够称为一个精灵。Sprite类供应了画面的翻转、扭转及复杂的碰撞检测等。要在GameCanvas上绘制一个精灵对象也很复杂,只必要挪用Sprite的paint办法,该办法必要一个Graphics范例的参数,我们把缓冲区的Graphics对象实例传送给它便可。
4>TiledLayer类
Tile也是一个二维游戏开辟的典范辞汇,是砖块的意义。这个类有甚么用呢?次要是用来构建舆图。这个事理一想也很简单分明,我们玩的游戏中,舆图常常比屏幕窗口年夜良多,岂非我们必要做这么年夜的图片吗?固然不是,我们只必要做几个小图片,它这些图片依照必定的按次平展,就能够失掉一个相称年夜的舆图。TiledLayer类就为我们供应了如许的功效。
5>LayerManager类
这个类次要是用来办理Layer,它能够在画布上分条理的绘制精灵和舆图,如许,就能够对照便利的办理谁在前、谁在后、谁遮挡谁等成绩。
上面来看实例。方才已说过,游戏计划是一个很庞大的历程,没有专业的步队是很难弄的。固然,我们也不是没有另类的弄法,那就是翻版。想想我们从小时分到如今玩过哪些典范游戏?俄罗斯方块、超等玛丽、合金弹头、雷电、街霸、拳皇等等,另有前两年十分盛行的“是汉子系列”,这些游戏各有各的运转平台,厥后又年夜部分移植到PC平台,如今,我们何不尝尝将它们移植得手机上呢?经由过程后面的先容,不丢脸出,这些典范的2D游戏都可使用下面的几个类来归纳综合:飞机、枪弹、仇人都是Sprite,年夜海、天空、丛林、戈壁都是TileLayer,我们所面对的困难,就是汇集和制造图片素材罢了。
这里的实例是“是汉子就下一百层”的手机翻版,下载地点:http://www.j2medev.com/Soft/src/game/200610/802.html,作者,归正不是我。上面是运转最终效果:
<p>
而学习JAVA我觉得最应该避免的就是:只学习,不思考,只记忆,不实践! |
|