📄 gamescreen.java
字号:
/*
* 程序员:程鹏 创建时间:2004-09-19
* 功能描述: 实现一个欢迎的屏幕
*/
package j2me.demo;
import javax.microedition.lcdui.*;
public class GameScreen extends Canvas implements Runnable
{
// 类实例
private fivechess midlet;
private volatile Thread splashscreenthread;//线程
private Graphics G=null;
//private Image offImage;
//private Graphics offScreen;
private Display gamedisplay;
private frmMainMenu frmmainmenu;
// 变量
//private runing;//线程运作的标志
private static int canvasHeight, canvasWidth;
private int farmecount;//动画的帧数
Image CartoonOneFrame;//动画第一帧
Image CartoonTwoFrame;//动画第二帧
Image CartoonThreeFrame;//动画第三帧
//构造函数
public GameScreen(fivechess midlet)
{
this.midlet=midlet;
canvasWidth=getWidth();
canvasHeight=getHeight();
init();
}
// 初始化函数
private void init()
{
//offImage =Image.createImage(canvasWidth,canvasHeight);
//offScreen=offImage.getGraphics();
try
{
Image SplashImage=Image.createImage("/intro1.png");
//one frame
CartoonOneFrame =Image.createImage(60,55);
G=CartoonOneFrame.getGraphics();
G.drawImage(SplashImage,0,0,20);
//two frame
CartoonTwoFrame=Image.createImage(60,55);
G=CartoonTwoFrame.getGraphics();
G.drawImage(SplashImage,0,-55,20);
//three frame
CartoonThreeFrame=Image.createImage(60,55);
G=CartoonThreeFrame.getGraphics();
G.drawImage(SplashImage,0,-110,20);
G=null;
SplashImage=null;
System.out.println("Succued");
}
catch(Exception e)
{
System.out.println(e);
}
}
// 画函数
protected void paint(Graphics g)
{
drawSplash(g);
}
// 启动线程
public void start()
{
farmecount=1;
splashscreenthread=new Thread(this);
splashscreenthread.start();
}
//执行线程
public void run()
{
try
{
while(farmecount<=3)
{
repaint();
serviceRepaints();
Thread.sleep(500);
farmecount++;
System.out.println(farmecount);
}
if(farmecount>3)
{
Thread.sleep(5000);
frmmainmenu = new frmMainMenu();
gamedisplay=Display.getDisplay(midlet);
gamedisplay.setCurrent(frmmainmenu);
}
}
catch(Exception e)
{
System.out.println(e);
}
}
// 函数
synchronized void stop()
{
farmecount=7;
}
//画动画
private void drawSplash(Graphics gc)
{
Image tempimage=null;
switch(farmecount)
{
case 1://1
tempimage=CartoonOneFrame;
break;
case 2://2
tempimage=CartoonTwoFrame;
break;
case 3:
tempimage=CartoonThreeFrame;
break;
}
gc.setColor(0);
gc.fillRect(0,0,canvasWidth,canvasHeight);
if(tempimage!=null)
{
System.out.println("draw");
gc.drawImage(tempimage,(canvasWidth-60)/2,(canvasHeight-55)/2,20);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -