`
wuyakenihao
  • 浏览: 30987 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

JAVAME学习笔记(3)

阅读更多
GameCanvas类提供了基本的游戏用户接口。除了从Canvas继承下来的特性(命令,输入事件等)以外,它还提供了专门针对游戏的功能,比如后备屏幕缓冲和键盘状态查询的能力。



每个GameCanvas实例都会有一个为之创建的专用的缓冲区。因为每个GameCanvas实例都会有一个唯一的缓冲区。可以从GameCanvas实例获得其对应的Graphics对象,而且,只有对Graphics对象操作,才会修改缓冲区的内容。外部资源如其他的MIDlet或者系统级的通知都不会导致缓冲区内容被修改。该缓冲区在初始化时被填充为白色。



缓冲区大小被设置为GameCanvas的最大尺度。然而,当请求填充时,可被填充的区域大小会受限于当前GameCanvas的尺度,一个存在的Ticker,Command等等都会影响到GameCanvas的大小。GameCanvas的当前大小可以通过调用getWidth和getHeight获得。



一个游戏可能提供自己的线程来运行游戏循环。一个典型的循环将检查输入,实现游戏逻辑,然后渲染更新后的用户界面。以下代码演示了一个典型的游戏循环的结构:



// 从后备屏幕缓冲获得Graphics对象

Graphics g = getGraphics();

while (true) {

      // 检查用户输入并更新位置,如果有需要

      int keyState = getKeyStates();

      if ((keyState & LEFT_PRESSED) != 0) {

          sprite.move(-1, 0);

      }

else if ((keyState & RIGHT_PRESSED) != 0) {

          sprite.move(1, 0);

      }

      // 将背景清除成白色

      g.setColor(0xFFFFFF);

      g.fillRect(0,0,getWidth(), getHeight());

      // 绘制Sprite(精灵)

      sprite.paint(g);

      // 输出后备缓冲区的内容

      flushGraphics();

}

分享到:
评论

相关推荐

    韩顺平编写的java学习笔记(全)

    ### 韩顺平编写的Java学习笔记概览 #### Java平台分类与运行机制 - **J2SE(Java 2 Platform, Standard Edition)**: 标准版Java开发平台,适用于桌面应用程序开发。 - **J2EE(Java 2 Platform, Enterprise ...

    Java 学习笔记

    "Java 学习笔记" Java 是一种面向对象的程序语言,具有跨平台的可能性。Java 的特性包括简单、面向对象、网络、解译、坚固、安全、可携和高效能。Java 平台包括 Java SE、Java EE 和 Java ME, Java SE 是 Java ...

    java学习笔记 良格格

    ### Java学习笔记要点 #### 一、了解Java ##### 1.1 Java的起源与发展历程 - **起源**: Java 最初是由 Sun 公司在 Green Project 中为了开发 Star7 应用程序而创建的一种编程语言。 - **命名**: 语言的名字来源于 ...

    java私塾学习笔记整理

    ### Java私塾学习笔记整理 #### 第一章:Java入门 **一、Java是什么?** Java是一种广泛使用的高级编程语言,由Sun Microsystems于1995年推出。它旨在为跨平台开发提供一种通用的语言环境,使开发者能够在任何...

    JAVA学习笔记最新ppt版1

    JAVA学习笔记最新ppt版1 JAVA 是一种面向对象的程序语言,具有更高的跨平台可能性。它是 Sun 公司 GreenProject 中撰写 Star7 应用程序的一个程序语言,由 James Gosling 创造。Java 的特性包括简单、面向对象、...

    Java课堂笔记学习Java课堂笔记学习

    ### Java课堂笔记学习 #### 软件定义与软件开发 - **软件**:软件是运行在硬件之上的一组指令集,这些指令集能够完成特定的功能。软件开发过程包括设计和编码两个主要阶段。 #### 编程语言的重要性 - **编程语言...

    Java+JDK6学习笔记.pdf

    ### Java+JDK6 学习笔记精要 #### 一、Java概览与起源 Java,由Sun Microsystems公司的James Gosling在Green Project项目中创建,最初命名来源于他窗户外的一棵橡树(Oak)。随着全球信息网的兴起,Java Applet成为...

    java学习笔记

    ### Java学习笔记知识点详解 #### Java 平台与开发概述 - **Java平台分类:** - **J2SE(Java SE):** 标准版,适用于桌面应用程序开发。 - **J2EE(Java EE):** 企业版,专为Web应用和服务端应用程序设计。 -...

    Java学习笔记(必看经典)

    在“Java学习笔记(必看经典)”中,我们可以期待涵盖以下几个关键知识点: 1. **基础语法**:包括变量声明、数据类型(如基本类型和引用类型)、运算符、流程控制语句(如if条件语句、for循环、while循环和switch...

    Java+JDK6学习笔记(PDF版书籍,免费下载)

    ### Java+JDK6学习笔记知识点详解 #### 一、Java简介 - **起源与历史:** - 最初由Sun公司的Green Project发起,旨在创建一个名为Star7的应用程序编程语言。 - 名称来源于创始人James Gosling窗外的一棵橡树...

    JAVA基础学习笔记

    【JAVA基础学习笔记】 在JAVA基础的学习中,涵盖了多个核心概念和编程技巧。以下是各章节的重点内容: 第一章:首先,我们需要了解JAVA的技术平台,包括Java SE(标准版)、Java EE(企业版)和Java ME(微型版)...

    java初级学习笔记

    15. **Java SE、Java EE和Java ME**:了解这三种Java平台的不同用途,分别是标准版(SE)用于桌面应用,企业版(EE)用于服务器端应用,微型版(ME)则用于嵌入式设备。 以上只是Java初级学习的部分核心概念,随着...

    java学习笔记.doc

    Java学习笔记概述 Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems开发,现在由甲骨文公司维护。它的设计目标是具有简单性、面向对象、健壮性、安全性、可移植性和高性能等特性。本笔记主要围绕Java的...

    基于java的学习笔记

    这只是Java学习笔记的基础部分,随着深入,还会涵盖类、对象、异常处理、集合框架、IO流、网络编程、多线程、设计模式等多个方面。理解并熟练掌握这些知识点,将有助于你全面地理解和运用Java,成为一名合格的Java...

    JAVA夜未眠(java学习笔记).rar

    10. **JavaSE、JavaEE与JavaME**:分别代表Java的标准版、企业版和微型版,笔记可能阐述它们的区别和应用场景。 11. **实践项目**:为了巩固理论知识,学习笔记通常会包含一些实战项目,如编写简单的桌面应用程序...

    Java+JDK+6学习笔记.pdf

    ### Java+JDK+6 学习笔记知识点详解 #### 一、Java 概述 - **起源与发展:** - Java 最初是由 Sun Microsystems 的 Green Project 开发出来的编程语言,最初是为了创建一个名为 Star7 的应用程序。 - 1995 年 5 ...

    韩顺平java从入门到精通视频教程(全94讲)学习笔记整理(齐全).doc

    本文档是韩顺平 Java 从入门到精通视频教程的学习笔记整理,共 94 讲,涵盖 Java 基础知识、Java SE、Java EE、Java ME 等方向的内容。 Java 基础知识 1. Java 平台:Java 平台有三个主要版本:J2SE、J2EE、J2ME。...

    长期总结的java学习笔记

    【Java学习笔记】 Java是一种广泛使用的编程语言,以其跨平台性、面向对象特性和安全性而闻名。Java的优点在于它的字节码技术使得程序能够在不同操作系统上运行,无需重新编译,这得益于Java虚拟机(JVM)。此外,...

    Java课堂学习笔记-4.26.doc

    【Java学习笔记】 Java是一种广泛使用的面向对象的编程语言,其设计目标是具有高效率、可移植性和可读性。本笔记将围绕Java的历史、重要性、安装配置、语法基础等方面进行详细介绍。 ### 1. Java的发展与意义 ...

Global site tag (gtag.js) - Google Analytics