Game API由5个类构成
GameCanvas--LayerManager--Layer
Sprite
TiledLayer
GameCanvas继承Canvas,具有Canvas所有的功能。
而且GameCanvas直接提供了 getKeyStates(),检测同一时间,按键被按下的情形。
GameCanvas还提供了 flushGraphics(),将Off-Screen内容显示到屏幕上,它并不产生重绘事件。
LayerManager提供管理多个图层的功能,便于将前景和背景混合在同一画面上并输出到屏幕。
LayerManager可以有许多Layer的子类,标准的MIDP提供Sprite和TiledLayer两种Layer的子类。
GameCanvas
每产生一个GameCanvas子类,其内部就会自动产生一块大小等同全屏的Off-Screen
构造函数
public MyGameCavas(){
super(true);是否要抑制键盘事件(包括keyPressed()/keyReleased()/keyRepeated()),true代表要抑制。
}
getKeyStates()
在调用getKeyStates()之前,该按钮曾经被按下过,那么缓冲区中的对应位置会被置成1,否则被设成0。这样就不会让程序漏掉用户曾经按下过的按钮。
getKeyStates()调用后,就会清除键盘状态缓冲区的内容。
取出键盘状态后,利用位运算就可以得知某个按钮是否被按下了:
if((keystate&UP_PRESSED)!=0){
……
}
GameCanvas定义的状态有:
UP_PRESSED DWON_PRESSED LEFT_PRESSED RIGHT_PRESSED
FIRE_PRESSED GAME_A_PRESSED GAME_B_PRESSED GAME_C_PRESSED GAME_D_PRESSED
LayerManager和Layer
Sprite要用LayerManager的append加入LayerManager中,以便统一控管这些Layer。
Layer的索引值从0开始。值越小离用户越近,加入的越早。
当Layer已在LayerManager中时,Layer会被LayerManager先删除,再加入。
随时可以利用remove()和insert从LayerManager中删除,插入Layer。
getLayer()取得某个索引值的Layer
getSize()得知目前LayerManager里有多少个Layer
setViewWindow(X,Y,width,height)设定View Window的大小
Sprite
画面上独立移动的图形
Sprite类会根据读入的影像先建立一个Row Frame数组,
另外一个Frame Sequence数组的内容都是画面的索引值。
Current Frame指的是目前屏幕上显示的画面。
getRawFrameCount()取得Raw Frame的数量
getFrameSequence()取得Frame Sequence的数量
getFrame()取得 目前Current Frame指向Frame Sequence数组哪个元素
setFrame()设定Frame Sequence某个元素的内容
nextFrame()/prevFrame()让Current Frame指向FrameSequence数组的下一个或上一个元素
TiledLayer
TiledLayer类会根据读入的影像先建立一个Static Tiles数组,索引值从1开始
然后根据构造函数的需求,建立名为Cells的二位数组,缺省Cells没个元素的内容皆为0
getCellHeight()/getCellWidth()可以取得单独一个Cell的高度和宽度
getColumns()得知Cells数组有多少Column
getRows()得知Cells数组有多少Row
getCell(i,j)可以取得Cellls数组第i个Column,第j个Row的内容。
setCell(i,j,k)可以将第i个Column,第j个Row的内容重新设定为k
fillCells()可以一次设定某范围中所有Cell的内容
分享到:
相关推荐
Java手机/PDA程序设计入门简体版代码是一个针对初学者的教程,主要涵盖了使用Java进行移动设备应用开发的基础知识和实践。在这个压缩包中,包含了多个章节的源代码示例,涉及了J2ME(Java 2 Micro Edition)平台,这...
在“手机/PDA程序设计入门-Game API进阶”这个主题中,我们主要探讨的是如何在移动设备上进行游戏应用程序的开发,特别是针对手机和个人数字助手(PDA)的平台。这一领域涉及到的知识点广泛,涵盖了编程语言、操作...
在进入手机/PDA程序设计的世界时,Game API的掌握是至关重要的一步,尤其对于初学者而言。Game API是专门为了创建游戏或者与游戏相关的应用程序而设计的一组接口和工具,它们提供了一系列的功能,使得开发者能够更...
在进入手机/PDA程序设计的世界时,整合型开发工具(Integrated Development Environment,IDE)是必不可少的利器。这些工具集成了代码编辑、编译、调试以及项目管理等多种功能,极大地提升了开发效率。本主题将深入...
总的来说,手机_PDA程序设计入门-Game API入门是一个涵盖广泛的知识领域,从基本的编程概念到高级的性能优化技术,都需要开发者逐步掌握。通过系统的学习和实践,你将能够在Java ME平台上开发出令人印象深刻的游戏。
在“手机PDA程序设计入门-Game API入门”这份资料中,我们首先会学习到基础的编程概念,了解如何设置开发环境,选择合适的编程语言,如Java、C++或Python,以及如何安装和配置开发工具,如Eclipse、Android Studio或...
通过阅读“手机PDA程序设计入门Game API入门”这份资料,你将逐步掌握在Windows CE设备上构建游戏的基本步骤和技巧。同时,实践是提升编程能力的关键,你可以尝试编写简单的游戏,从实践中加深对Game API的理解。 ...
《Java手机PDA程序设计入门》...通过阅读《Java手机PDA程序设计入门》,读者不仅能掌握Java ME的基本概念和技术,还能具备开发实际移动应用的能力。对于想进入移动开发领域的初学者来说,这是一本不可多得的参考资料。
Java手机PDA程序设计入门是针对初学者的一份宝贵资源,旨在帮助他们了解并掌握如何在移动设备上开发应用程序。这份教程可能包含了Java语言的基础、移动设备编程的特点以及PDA(个人数字助手)和智能手机平台的相关...
《Java手机PDA程序设计入门》是王森撰写的一本专为初学者打造的书籍,旨在引导读者进入Java在移动设备开发的世界。这本书的核心内容涵盖了Java在手机和平板电脑(PDA)上的应用开发,是Java爱好者和未来移动开发者的...
Java 2 Micro Edition (J2ME) 是一种针对嵌入式设备、手机和PDA的Java平台,它允许开发者创建可以在这些小型设备上运行的应用程序。J2ME 不使用AWT和SWING作为用户界面库的原因主要是因为这些库在资源有限的移动设备...
在这个特定的场景中,我们关注的是"手机PDA程序设计入门-Game API",这表明我们将深入探讨如何利用API来开发手机和平板设备上的游戏。 J2ME(Java 2 Micro Edition)是Java平台的一个子集,专门用于资源有限的设备...
Java手机PDA程序设计入门代码主要涵盖了在移动设备上使用Java进行应用程序开发的基本概念和技术。这一领域的知识体系庞大,涉及到的方面包括Java ME(Java Micro Edition)、KVM(Java Virtual Machine for Embedded...
《JAVA手机PDA程序设计入门教程》是一套全面解析JAVA在移动设备上应用开发的教程,旨在帮助初学者深入理解并掌握JAVA在手机和平板电脑(PDA)上的编程技术。教程内容涵盖从基础概念到实际项目开发的全过程,旨在通过...
通过阅读《Java手机PDA程序设计入门——王森简体》,读者不仅可以学习到Java ME的基本知识和技术,还能了解到如何适应不同移动设备的特性进行开发,从而成为一名合格的移动应用开发者。无论是对Java感兴趣的学生,...