欢迎来到天天文库
浏览记录
ID:45089992
大小:4.43 MB
页数:38页
时间:2019-11-09
《《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的使用流程如下:(
此文档下载收益归作者所有