《MIDP游戏开发》PPT课件

《MIDP游戏开发》PPT课件

ID:45089992

大小:4.43 MB

页数:38页

时间:2019-11-09

《MIDP游戏开发》PPT课件_第1页
《MIDP游戏开发》PPT课件_第2页
《MIDP游戏开发》PPT课件_第3页
《MIDP游戏开发》PPT课件_第4页
《MIDP游戏开发》PPT课件_第5页
资源描述:

《《MIDP游戏开发》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章MIDP游戏开发本章学习导航本章学习要点(1)游戏API简介;(2)GameCanvas类的使用;(3)Sprite类的使用;(4)TiledLayer类的使用;(5)LayerManager类的使用。8.1游戏API简介在MIDP2.0中利用javax.microedition.lcdui.game包中的类进行游戏开发。在javax.microedition.lcdui.game包中使用的是MIDP中的低级图形类Images和Graphics等。因此,可以结合这些图形类进行游戏的开发。在javax.microedition.lcdui.game

2、包中提供了5个主要类以实现游戏开发。Game包概述8.1游戏API简介GameCanvas是一个提供了游戏的基本接口的抽象类。这个类与Canvas类相比有两个优点:一是它拥有屏幕缓冲;二是它可以直接得到设备键盘的物理状态。Layer是一个定义了游戏元素的抽象类。Sprite和TiledLayer继承了这个类,Layer是一个非常常用的类。LayerManager负责管理Layer对象,并且按照指定的顺序画他们。Sprite包含了若干帧图像的Layer。这些帧保存在Image对象中,通过Sprite类我们可以只使用其中的部分帧,或者通过播放一个帧的序列来

3、创建一个动画。Sprite类还能检查它是否与其他的Sprite类或者TiledLayers有重合。TiledLayer和Sprite有点相似,但是它更多的被用来创建背景,比如赛道或者其他更大的区域。TiledLayer包含一个表格,我们可以用图像或者文字来填充他。所以说一个背景或者一个场景是可以用一系列的小图片来创建的。Game包概述8.2GameCanvas类的使用GameCanvas类概述GameCanvas是为了方便游戏开发的Canvas类,从类的实现上,可以看出GameCanvas类是Canvas类的子类,它继承了MIDP1.0中在使用的jav

4、ax.microedition.lcdui.Canvas类,因此GameCanvas类可以直接使用Canvas类的方法。8.2GameCanvas类的使用super(true)【例8-1】ch21_1.java教师演示讲解8.2GameCanvas类的使用键盘状态应用GameCanvas类,主要是通过对图形的控制实现动态的效果,这些控制通常都是通过手机键盘来实现的。因此,在使用GameCanvas类绘图时需要获得指定键盘的按下状态,并进行相关的移动操作。GameCanvas类中,提供了相关的按键常量来获得键盘被按下的状态,这些常量用来表示手机键盘上的游

5、戏按键。8.2GameCanvas类的使用GameCanvas类概述--设备键盘的物理状态GameCanvas使用getKeyStates()可以直接获得键盘码,不像Canvas必须通过keyPressed才能获得键盘的键盘码。以下代码分别验证了键盘是否按下了左键和右键:intkeyState=getKeyStates();if((keyState&LEFT_KEY)!=0){positionX--;}elseif((keyState&RIGHT_KEY)!=0){positionX++;}但是要注意的是,如果需要在GameCanvas中监听键盘事件,

6、需要通过如下方式:while(true){intkeyState=getKeyStatus();}8.2GameCanvas类的使用键盘状态实例【例8-1】ch21_2.java,ch21_2.java教师演示讲解Thread线程多线程两种实现方法:1、通过继承Thread方法开发多线程程序classprintThreadextendsThread{publicvoidrun(){print();}}printThreadpt=newprintThread();pt.start();2、通过实现Runnable接口开发多线程程序classprintRu

7、nnableimplementsRunnable{publicvoidrun(){print();}}printRunnablepr=newprintRunnable();Threadpt=newThread(pr);pt.start();publicvoidprint(){while(true){frm.append(“Hello”);try{Thread.sleep(1000);}catch(Exceptione){}}}8.2GameCanvas类的使用GameCanvas类概述--屏幕缓冲GameCanvas本身就是使用双缓存技术实现图形或

8、者图像的屏幕输出,不需要开发人员编写自己的屏幕缓冲代码。GameCanvas的使用流程如下:(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。