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

📄 splashscreen.java

📁 此为一款基于J2ME的手机游戏
💻 JAVA
字号:
/**********************************************************
  
 File name:SplashScreen.java
 
 Author:夏文涛
 
 Version:Beta1.0
 
 Data:2007/10/16
  
 Description:
 
    游戏闪屏画面的实现,主要用来显示游戏的LOGO.

 *********************************************************/

package com.Izual.MetalMax;

import javax.microedition.lcdui.*;
import javax.microedition.media.MediaException;

public class SplashScreen extends Canvas implements Runnable {

	private final MetalMax midlet;
	private Image splashImage; /*游戏LOGO的图片*/
	private volatile boolean dismissed = false; /*是否跳过*/

	SplashScreen(MetalMax midlet){
		
		this.midlet = midlet;
		setFullScreenMode(true);
	
		/*开始播放LOGO时的声音*/
		SoundEffects.getInstance().startLogoSound();
		
		try{
			
			/*闪屏时显示的图片*/
			splashImage = Image.createImage("/mm_title.png");
		}catch(Exception e){
			e.printStackTrace();
		}
		
		new Thread(this).start();
		
		
	}
	
	/*等待5秒后自动转到游戏菜单界面*/
	public void run(){
				
		synchronized(this){
			
			try{
				
				wait(5000L);
			}catch(InterruptedException e){}
		}
			
		try {
			
			dismiss();
		} catch (MediaException e) {
			// TODO 自动生成 catch 块
			e.printStackTrace();
		}
		
	}
	
	/*闪屏界面的绘制*/
	public void paint(Graphics g){
		
		int CanvasWidth = getWidth();
		int CanvasHeight = getHeight();
		g.setColor(0x00FFFFFF);
		g.fillRect(0, 0, CanvasWidth, CanvasHeight);
		g.setColor(0x00FF0000);
		g.drawRect(1, 1, CanvasWidth - 3, CanvasHeight - 3);
		if(splashImage != null){
			
			g.drawImage(splashImage,CanvasWidth/2,CanvasHeight/2 - 20,
					Graphics.VCENTER|Graphics.HCENTER);
			
			splashImage = null;
		}
		
		g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD,Font.SIZE_LARGE));
		int centerX = CanvasWidth/2;
		int centerY = CanvasHeight/2 + 60;
		g.setColor(0x00FFFFF);
		drawText(g,centerX,centerY - 1);
		drawText(g,centerX,centerY + 1);
		drawText(g,centerX -1,centerY);
		drawText(g,centerX +1,centerY);
		g.setColor(0x00000000);
		drawText(g,centerX,centerY);
		midlet.splashScreenPainted();
	}
	
	/*绘制文字的方法*/
	private void drawText(Graphics g, int centerX, int centerY){
		
		int fontHeight = g.getFont().getHeight();
		int textHeight = 2*fontHeight;
		int topY = centerY - textHeight/2 - 30;
		g.drawString("Press START",centerX,topY,Graphics.HCENTER|Graphics.TOP);
	}
	
	/*键盘事件,如果按下任意键,则闪屏结束,转到游戏菜单选择界面*/
	public synchronized void keyPressed(int keyCode){
		
		try {
			dismiss();
		} catch (MediaException e) {
			// TODO 自动生成 catch 块
			e.printStackTrace();
		}
	}
	
	/*闪屏界面结束*/
	private void dismiss() throws MediaException{
		
		if(!dismissed){
			
			dismissed = true;
			midlet.splashScreenDone();
		}
	}

	

}

⌨️ 快捷键说明

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