Canvas类

说到J2ME的低级用户界面,就不得不说一说Canvas类。  Canvas类是Displayable类的子类,它提供了绘制方法和应用程序的一些低级事件处理方法。例如键盘按键事件等,以及需要绘制屏幕的程序。由于Canvas类的paint()方法被声明为抽象方法,所以Canvas类也是一个抽象类。

绘制屏幕

Canvas类前面提到过可以看做一块画布,可以在上面绘制图画,甚至文字,那么它肯定就会有绘制这个方法。Paint(Graphics g)方法是Canvas类中提供的用来绘制屏幕的方法,它的方法原型如下:

protected abstract void paint(Graphics g)

按键事件

在高级用户界面中,每一个高级事件都有一个相应的事件监听接口。应用程序可以定义监听器,并且用屏幕类对象进行注册。如果Canvas类对低级事件也采用同样的事件处理模式,那么就需要创建一些新的监听器接口,使每一个事件都对应一个监听器。这种方法将使API变得非常复杂。因此在低级用户界面API中的事件处理中采用了另外一种模式,它同J2SE AWT中基于级别的事件处理模式相类似。所有的事件都提供给Canvas,而应用程序可以根据自己的需要决定处理哪些事件。

游戏动作

在手机游戏开发中,经常用游戏动作来代替键码。Canvas中定义了游戏动作常量 。

Graphics类:

Graphics类的坐标系 :

文字显示

Graphics类使用下面的方法绘制字符串:

drawString(string text,int x,int y,int anchor)
此方法使用当前字体,当前颜色绘制字符串。参数text是需要绘制的字符串, x、y是文字坐标, anchor表示锚点。

图像绘制

1. Image类概述

Image用来操作图形图像数据。这些数据可以绘制在低级用户界面上,也可以与高级用户界面的某些组件相关联起来,例如AlertImageItem等。不能使用new方法生成一个Image类的对象,而是用Image类的静态方法createImage()。建立的图像可以分为以下两类:

1) 不可变图像(也称为静态图像):从现有文件上加载图像数据生成,一旦生成就不能改变。

2) 可变图像(也称为动态图像):可变图像在内存中创建,并且可以修改。

J2ME游戏开发之低级用户界面(一)相关推荐

  1. j2me游戏开发实例讲解 (转)

    j2me游戏开发实例讲解 (转)[@more@] j2me再现华容道 一.序言 昨天在网上闲逛,发现一篇讲解用 Delphi实现华容道游戏的文章,颇受启发.于是,产生了将华容道游戏移植到 手机中去的冲 ...

  2. J2me游戏开发实例讲解(华容道)

    j2me游戏开发实例讲解 (加入日期:2003-10-10 点击数:1541) [对此文发表评论]?[编程爱好者论坛] [保存文章至硬盘] ?[打印文章] Borland开发讨论区 微软开发讨论区 C ...

  3. [转载]J2ME游戏开发实例讲解

    J2ME游戏开发实例讲解 一.序言 昨天在网上闲逛,发现一篇讲解用delphi实现华容道游戏的文章,颇受启发.于是,产生了将华容道游戏移植到手机中去的冲动.现在手机游戏琳琅满目,不一而足,华容道的实现 ...

  4. J2ME游戏开发实例讲解(1)

    J2ME游戏开发实例讲解(1) 一.序言 昨天在网上闲逛,发现一篇讲解用delphi实现华容道游戏的文章,颇受启发.于是,产生了将华容道游戏移植到手机中去的冲动.现在手机游戏琳琅满目,不一而足,华容道 ...

  5. 【J2ME 2D 游戏开发系列】◣HIMI游戏开发启蒙教程◢JAVA零基础学习J2ME游戏开发全过程!...

    本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/j2me-2/774.html Himi从写 ...

  6. J2ME游戏开发(从零开始)

    手机游戏概论 大纲 l           手机游戏类型. l           手机游戏开发特点. l           手机发展历史及3G技术展望. 重点 l           手机游戏主要 ...

  7. j2me游戏开发实例讲解

    J2ME再现华容道 一.序言 昨天在网上闲逛,发现一篇讲解用delphi实现华容道游戏的文章,颇受启发.于是,产生了将华容道游戏移植到手机中去的冲动.现在手机游戏琳琅满目,不一而足,华容道的实现版本也 ...

  8. J2ME游戏开发中时钟的简单实现

    在java.util包中有一个TimerTask类,你可以扩展这个类并且实现他的run()方法,在run()方法中编写我们的逻辑代码.如果我们想制作一个游戏时钟,那么非常简单我们编写一个GameClo ...

  9. 开发易于移植的J2ME游戏

    J2ME游戏开发中,移植是个问题.各种手机的屏幕大小,按键,支持的API和性能各不相同,要想一次开发,到处运行并非易事.本文从几个方面简要讨论一下开发易于移植的J2ME游戏的方法,每一节分别对应一个具 ...

最新文章

  1. JCR:曝气生物滤池处理焦化废水过程中N2O和NO的产生机理与群落功能研究
  2. Java基础学习总结(113)——异常最佳实践
  3. Python基础——isupper()方法和islower()方法
  4. 1.1 统计学习方法概论(个人笔记与随感)
  5. HTML frameset 标签 cols 属性
  6. 2022-2027年中国钛加工材行业市场全景评估及发展战略规划报告
  7. 网络上公开的华为一面、二面、三面、四面、五面过程的总结
  8. Linux系统的注销与关闭
  9. 专访仙工智能叶杨笙:工业产品如何提升研发效能?
  10. ML之shap:分析基于shap库生成的力图、鸟瞰图、散点图等可视化图的坐标与内容详解之详细攻略
  11. win10计算机恢复出厂设置,Win10电脑如何恢復出厂设置
  12. redis进阶使用(三)—— Redis 集群
  13. 常用的 tailwindcss 模板站点
  14. Java高级之线程同步
  15. MATLAB-如何在全图中设置局部放大图
  16. [QGIS]常用操作--字段增删与数据过滤
  17. VC如何制作用IC卡读卡器读取系统
  18. 我在湖北新东方烹饪学校上的12次课——大厨笔记
  19. python 生日悖论_python自学日记6——列表
  20. 11亿资金助力, 微软、三星、摩根大通多数巨头加持, 枝繁叶茂的它凭什么被低估?...

热门文章

  1. 俩万搭建安装SpringBoot+VUE【视频+文档+源码】
  2. lisp修改天正标高值_表达式计算修改版本,增加计算函数选择按钮[2019年1月23日更新]...
  3. Excel是世界上最危险的软件?
  4. JavaEE框架中间件
  5. 官微名片!配置全员智能名片,是使用LTD独立站营销SaaS系统第三步
  6. 启迪国信灵通入选2016首都设计提升计划
  7. Social Recommendation with Missing Not at Random Data(ICDM 2018)参考文献
  8. 数字游戏(蓝桥杯算法训练)(C/C++)
  9. python二级备考一轮要点记录
  10. 美文分享——「静月思」-热血