⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 通过游戏代码学j2me(二).txt

📁 j2me游戏制作学习 资料
💻 TXT
字号:
通过游戏代码学J2ME(二)
辅助类cover类
package npc7776;

import javax.microedition.lcdui.*;
import java.util.*;

/****************************************
* 类功能介绍:启动显示封面,由main类调用,封面显示俩秒
****************************************/

public class cover
    extends Canvas {
  private planemain mainScreen = null;
  private Timer timer = null;
  Image img = null;
  public cover(planemain m) {
    mainScreen = m;
    timer = new Timer();
    TimerTask tsk = new TimerTask() {
      public void run() {
        mainScreen.goBack();//返回主窗口
      }
    };
    timer.schedule(tsk,2000);//注释一
  }
  public void paint(Graphics g){
    int width = getWidth();
    int height = getHeight();
    g.setColor(255,255,255);
    g.fillRect(0,0,width,height);//清屏
    try{
        img = Image.createImage("/res/cover.png");
    }catch (Exception e){}
    g.drawImage(img,width/2,height/2,Graphics.HCENTER|Graphics.VCENTER);
    
  }                          //注释二
}


注释:

一    .在构造类中有一个内嵌类TimerTask,他完成的run()方法,当执行时会调用主体类
的goBack()方法,而timer.schedule(tsk,2000)方法执行结果正是在2000毫秒后执行TimerTask
类的对象tsk的run()方法。关于J2ME中的定时器这里再详细的介绍一下,在J2ME中,定时器用于
在指定时间执行任务或者重复执行任务,J2ME中自MIDPv1.0开始就提供了对定时器的支持。要
使用定时器就要需要涉及到TIMER(定时器)类和TimerTask(定时器任务)类。TimerTask类是一个
虚类,用于实现一个具体的任务。Timer类用于通过定期执行由TimerTask对象表示的任务。要
使用定时器功能,就必须从TimerTask 类派生新类,并且重载void run()方法,然后通过Timer对
象来定时执行任务。

二    .我们可以看到cover继承了Canvas,那么当它构造完成后会主动执行本方法。他的主要目
的是实现显示一张图到显示区。这里介绍一下图像.创建Image对象不是通过对象的构造方法,
而是要通过调用Image类的createImage方法来实现的,如果图像是通过资源内的图像文件创建,
那么图像文件格式必须为PNG格式,因为在MIDP中只支持PNG格式的图像资源(MIDPv2.0中支持
透明的PNG图像)。一般把图像资源保存在工程下/res/下面。利用Graphics 输出图像时需要调
用的方法是 void drawImage(Image img,int x,int y,int anchor),此外,在MIDPv2.0中Graphics
类也添加了新的方法用于旋转图像,即void drawRegion(Image img,int x_src,int y_src,int width,
int height,int transform,int x_dest,int y_dest,int anchor),通过drawRegion 方法可以在
不创建新的图像对象的情况下输出旋转的图像。参数transform 表示旋转的方式,允许的取值为
       Sprite.TRANS_NONE 不旋转
       Sprite.TRANS_ROT90,Sprite.TRANS_ROT180,Sprite.TRANS_ROT270 顺时针旋转90,180,270
       Sprite.TRANS_MIRROR  沿水平线翻转
       Sprite.TRANS_MIRROR_ROT90,Sprite.TRANS_MIRROR_ROT180,Sprite.TRANS_MIRROR_ROT270
                沿水平线翻转后再顺时针旋转90度,180度,270度 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -