当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:13:00  来源:本站整理

操纵NetBeans举行J2ME开辟(五):揭开游戏开辟的奥妙面纱[Java编程]

赞助商链接



  本文“操纵NetBeans举行J2ME开辟(五):揭开游戏开辟的奥妙面纱[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

游戏开辟,好大的一个命题哦.无论是游戏的剧情计划,还是游戏的美工制作,那都不是一两下子可以完成的事,而编程,只是此中的一小部份.但是,就算是这一小部份,我也不大概把它掌握得很透彻.这篇随笔,大部份都是些抄书的东西,主如果为了我的博客的完好性而存在,但是我仍然会极力把它写好,要让那些精通Java别的范畴但是却没有机会做J2ME开辟的高手们看看图片解解馋,让那些想做手机游戏开辟的同仁们看看J2ME的Game API毕竟为我们供应了哪些支持,让我们知道写游戏需求理解哪些概念.

先来理解一下MIDP 2.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,作者不详,反正不是我.下面是运行效果图:


  以上是“操纵NetBeans举行J2ME开辟(五):揭开游戏开辟的奥妙面纱[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>操纵NetBeans IDE测试Enterprise Beans</b>
  • Java网络编程从入门到精通(11):操纵NetworkInterface类得到网
  • 操纵NetBeans举行J2ME开辟(五):揭开游戏开辟的奥妙面纱
  • <b>操纵NetBeans举行J2ME开辟(三):初级图形用户界面Canvas</b>
  • 操纵NetBeans举行J2ME开辟(四):高级图形用户界面
  • 操纵NetBeans举行J2ME开辟(一):别让程序员的手机闲着
  • <b>操纵NetBeans举行J2ME开辟(二):把程序转移到手机上</b>
  • 操纵NetBeans 5.0和GlassFish成立JAX-WS 2.0服务
  • 在C++Builder操纵NetBIOS举行编程
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .