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

📄 welcom.java

📁 网络游戏21点源码 java版本 支持网络连接 如有问题
💻 JAVA
字号:
package com.dfun.blackjack;
import javax.microedition.lcdui.*;
import com.nokia.mid.ui.*;

/**************************************************
 * @author Beetle
 * 类功能介绍:欢迎画面
 **************************************************/
public class Welcom
	extends FullCanvas
	implements Runnable {
	/*******************************************************
	 * 定义公共变量
	 *******************************************************/
	private int width, height; //屏幕宽高
	private int bgWidth, bgHeight; //画布宽高
	private int balanceHeight, balanceWidth; //128,128屏幕与现在屏幕的差别
	private Display display; //显示管理器
	private Image bufferImg; //双缓存图片
	private Graphics bg; //双缓存画布
	private Thread refresh; //刷新线程
	private Thread initNet; //初始化网络连接线程
	private boolean isRefresh; //是否进行刷新
	private Image img[]; //图片数组
	private Main main; //主控程序
	private Connection conn; //连接对象
	private int plan; //进度条的进度值
	private int hint; //提示的状态
	private boolean isHint; //是否提示
	/*******************************************************
	 * 功能介绍:构造函数
	 * 输入参数:显示管理,连接对象,手机号码,主程序
	 *******************************************************/
	public Welcom(Display display, Connection conn, Main main) {
		/*******************************************************
		 * 初始化公共变量
		 *******************************************************/
		this.main = main;
		this.display = display; //初始化显示管理器
		this.conn = conn; //连接对象
		isRefresh = true; //默认持继刷新
		isHint = true; //默认提示
		width = getWidth(); //初始化屏幕宽度
		height = getHeight(); //初始化屏幕高度
		bgWidth = 176; //画布宽
		bgHeight = 208; //画布高
		bufferImg = Image.createImage(176, 208); //创建双缓存图像
		try {
			bg = bufferImg.getGraphics(); //创建双缓存画布
		}
		catch (Exception e) {
			System.out.println("load image error");
		}
		bg.setFont(Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_PLAIN, Font.SIZE_SMALL));
		img = main.loadImg(1); //装入欢迎画面的图片
		plan = 36; //默认进度为零
		refresh = new Thread(this); //进行持续刷新
		refresh.start(); //启动刷新
		initNet = new Thread(this); //进行初始化连接网络
		initNet.start();
	}

	public void paint(Graphics g) {
		try {
			if (isRefresh == true) {
				backDrop();
				showGauge();
				g.drawImage(bufferImg, width / 2, height / 2, Graphics.HCENTER | Graphics.VCENTER); //将双缓存图片绘到屏幕上
			}
		}
		catch (Exception e) {
			System.out.println("welcom paint error");
		}
	}

	public void run() {
		if (Thread.currentThread() == refresh) { //刷新线程
			try {
				while (isRefresh) {
					Thread.sleep(80); //按指定毫秒刷一次屏
					repaint();
				}
			}
			catch (Exception e) {

			}
		}

		if (Thread.currentThread() == initNet) { //初始化gprs并预先取得房间及用户总分
			if (conn.initNet()) {
				isRefresh = false;
				conn.sendUserInfo(main.strPhoneNumber, main.strUserName, main.strPassword); //发送用户信息
				if (conn.getHouseList()) { //读取房间列表
					main.showHall();
				}
				else {
					display.setCurrent(new Alert("系统提示", "对不起连不到服务器,请稍后重试!", null, AlertType.INFO));
					main.exit();
				}
			}
			else {
				display.setCurrent(new Alert("系统提示", "对不起连不到服务器,请稍后重试!", null, AlertType.INFO));
				main.exit();
			}
			return;
		}

	}

	/*****************************************************
	 * 功能介绍:初始化网络,显示进度条
	 * 输入参数:无  36 154
	 * 输出参数:无
	 ******************************************************/
	public void showGauge() {
		if (plan < 129) {
			plan = plan + 1;
		}
		for (int i = 36; i <= plan; i++) {
			bg.drawImage(img[1], i, 153, Graphics.LEFT | Graphics.TOP);
		}

	}

	/******6583151
	 * ************************************************
	 * 功能介绍:显示背景
	 * 输入参数:无
	 * 输出参数:无
	 ****************************************************/
	public void backDrop() {
		bg.setColor(0x000000);
		bg.drawImage(img[0], 0, 0, Graphics.TOP | Graphics.LEFT);
		bg.setColor(0x0066cc);
	}

	public void keyPressed(int keyCode) {
		if (getGameAction(keyCode) == Canvas.FIRE) {
			main.exit();
		}
	}
}

⌨️ 快捷键说明

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