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

📄 gamecanvas.java

📁 一款体育类手机游戏的GameCanvas源码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
/*畫布類,畫logo,遊戲畫面*/

package PenguinCircus;

import java.util.Random;

import com.nttdocomo.io.HttpConnection;
import com.nttdocomo.ui.*;
import java.io.*;
import javax.microedition.io.Connector;
import javax.microedition.io.InputConnection;


//import com.nokia.mid.ui.FullCanvas;
//import com.nokia.mid.ui.DirectUtils;

public class GameCanvas extends Canvas
{
	int adad=10;
	boolean canPaint = false;
  //boolean isxiazaiError=false;
  byte byte0 = 0;
  ByteArrayOutputStream bt;
  HttpConnection cn;
  byte data[];
  int dsiz;
  byte readBuf[];
	Font ft;
	
	
	protected int showCon=0;
	private Image company_logo,glogo,bg,snow,ice,seasky,icon;
	Image menu1,menu2,menu3,menu4,menu5,menu6,menu7;
	Image nar1,nar2,nar3,nar4,nar5;
	private Image cloudImg,shadow1,shadow2,key,water1,water2,water3;
	private Image simlifeimg;
	protected Image sceneryImg[];							//近景
	protected Image holdbackImg[];						//道具
	protected Image snowManImg[];							//雪人
	Image penguin[];
	Image status[];
	Image nimg[];
	int m_delay=0;
	protected int stepY=96;								//行走位置
	protected int groundY=72;							//地面高度
	
	int offset=0;
	Random rd=new Random();
	int soundVol=0;										//音量
	
	String HOSTNAME;
  String HOSTNAME2 = "";
	String HOSTNAME3;
	
	
	static String loadImgList2[] = {"1","2","3"};
	static int loadImgPos2[] = {0,9216,9216+9216,9216+9216+6568};
	
	static String loadImgList[] = {
      "simlife",
      "bg",
"cloud",
"company_logo",
"holdback1",
"holdback2",
"holdback3",
"holdback4",
"holdback5",
"holdback6",
"holdback7",
"ice",
"icon",
"key",
"logo",
"menu1",
"menu2",
"menu3",
"menu4",
"menu5",
"menu6",
"menu7",
"n1",
"n10",
"n11",
"n2",
"n3",
"n4",
"n5",
"n6",
"n7",
"n8",
"n9",
"nar1",
"nar2",
"nar3",
"nar4",
"nar5",
"penguin1",
"penguin10",
"penguin11",
"penguin12",
"penguin13",
"penguin14",
"penguin15",
"penguin16",
"penguin17",
"penguin18",
"penguin19",
"penguin2",
"penguin20",
"penguin21",
"penguin22",
"penguin23",
"penguin24",
"penguin25",
"penguin26",
"penguin27",
"penguin28",
"penguin3",
"penguin4",
"penguin5",
"penguin6",
"penguin7",
"penguin8",
"penguin9",
"scenery1",
"scenery2",
"scenery3",
"scenery4",
"seasky",
"shadow1",
"shadow2",
"snow",
"snowman1",
"snowman2",
"snowman3",
"status1",
"status2",
"status3",
"status4",
"status5",
"status6",
"status7",
"status8",
"status9",
"water1",
"water2",
"water3"
  };
  
  //static int loadImgSize[] = {
  //    551, 609, 844, 953, 1697, 1960,2948, 4056,137,176,198,258,263,298,409,422,501,547
  //};

  static int loadImgPos[] = {
      0,132,990,
56,
281,
226,
212,
292,
241,
273,
216,
355,
667,
239,
176,
1788,
239,
102,
103,
190,
97,
96,
75,
53,
52,
60,
60,
52,
52,
59,
52,
52,
60,
52,
88,
88,
89,
88,
70,
213,
237,
205,
242,
246,
330,
209,
218,
216,
161,
201,
214,
213,
240,
263,
338,
238,
242,
306,
276,
279,
217,
159,
197,
215,
248,
242,
228,
132,
96,
136,
131,
147,
67,
69,
353,
212,
213,
219,
82,
66,
55,
73,
104,
47,
62,
55,
90,
79,
100,
100};
	
	

	/////picture info
	protected int holdbackPos[][]={{0,0,0,40},			//冰堆高
									{0,0,0,32},		//冰堆低
									{0,0,0,32},		//高臺
									{0,0,0,20},		//浮冰
									{0,0,0,20},		//碎冰
									{0,0,0,15},		//冰窟窿
									{0,0,0,0},		//冰窟窿
									};

	
	protected int sceneryPos[][]={{0,0,0,0},			//小旗
									{0,0,0,0},		//梯子
									{0,0,0,0},		//舞旗企鵝觀眾
									{0,0,0,0},		//跳躍企鵝觀眾
									};
	

	////screen info
	private int scrW=0,scrH=0;

	////key control
	protected boolean keyup=false;
	protected boolean keydown=false;
	protected boolean keyleft=false;
	protected boolean keyright=false;
	protected boolean keyfire=false;
	protected boolean keyZero=false;
	protected boolean keyTouched=false;
	protected boolean keyOk=false;
	protected boolean keyBack=false;
	protected boolean keyupFlg=false;
	protected boolean keydownFlg=false;
	protected boolean keyleftFlg=false;
	protected boolean keyrightFlg=false;

	////key buffer control
	protected int keyStackNum=0;
	protected int keyStackLen=4;
	protected byte[] keyStack={(byte)127,(byte)127,(byte)127,(byte)127,(byte)127,(byte)127};
	protected int keyStackPointer=0;
	protected boolean longKey=false;						//長按鍵的標誌


	////pass control
	protected int passCount=8;
	
	protected boolean isRunning=false;
	protected boolean retGame=false;

	////menu control
	protected boolean showMenu=false;
	protected int mStep=0;									//menu step
	protected int menuClassId=0;
	protected int menuId=0;
	protected int subMenuId=0;
	protected int levelSelId=1;								//選擇關卡
	///////
	protected int gStep=0;									//level pass/game over/switch step
	protected int loadingProcess=0;							//載入進度條
	protected boolean loadingFlg=false;						//顯示進度條標誌

	////rubbish
	//static byte[] rubbish=new byte[10240];

	////////////
	private Display gDisp=null;
	
	protected GameData gda=null;
	protected Penguin pg=null;

	protected byte ycCnt=0;									//控制黃牌標誌閃爍

	static String helpStr="操作指南:\n向左加速:4或左\n向右加速:6或右\n下蹲:8或下\n跳躍:2或上\n大力跳:下蹲按跳\n放棄賽點:0\n比賽規則:\n在最短時間內越過障礙到達終點。每次違例都將被黃牌警告,並返回前一賽點重新起跑。賽點用小紅旗標出。當黃牌累計得到紅牌時,將被淘汰出局。";
	static String[] levelStr={"第一賽道","第二賽道","第三賽道","第四賽道","第五賽道","第六賽道","第七賽道","第八賽道","最終賽道"};
	static String[] passStr={"不要氣餒,加油啊!","   還可以更好!  ","耶,賽道最好成績!"}; 
	static String[] roadInfo={"   乾燥   ","   濕滑   ","   乾燥   ","   乾燥   ","   濕滑   ","   濕滑   ","   乾燥   ","異常濕滑 ","異常濕滑"};
	int[] scores = {
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
	static String[] levelTip={"極地運動會隆重開幕!美麗的妮可在終點線等著你呢!",
								"溜冰可以很快,但踩著滑板是無法停下來的哦!",
								"掌握好連續跳躍的時機和力度,來個淩波微步!",
								"浮冰是方便又危險的落點,絕不能被碰撞,小心哦!",
								"隨時注意躲開雪人和他投擲的雪球!",
								"小心,被障礙困住後就只能按 0 求助了!",
								"小心利用浮冰跳躍,撞碎了可能導致比賽結束哦!",
								"誰說企鵝不會飛?不要翅膀,用你的滑板!",
								"最後的賽道!朝著終點線上的妮可前進,加油!"
							};
	
	static String[] menuStr={"開始","設置","幫助","尋寶","賽況","退出"};
	protected boolean showTitle=false;
	//protected boolean showHelp=false;

	
	//int findingP=0;
	private short strPointer[]=new short[10];
	protected short page=0;
	
	
	protected int helpPoint[][]={{1,6,8,1},	//(所在關卡,起始位置,終止位置,提示方向[0:後,1:前,2:上,3:下]
		{1,6,8,1},
		{1,9,9,2},
		{1,17,20,1},
		{1,21,21,2},
		{1,50,51,2},
		{1,54,56,1},
		{1,57,57,2},
		{1,101,107,1},
		{1,108,109,3},
		{1,110,110,2},
		{2,144,144,2},
		{2,154,154,2},
		{2,165,165,2},
		{4,23,24,0},
		{4,33,33,1},
		{4,34,34,2},
		{5,15,18,1},
		{5,19,19,3},
		{5,20,20,2},
		{5,66,69,1},
		{5,71,74,3},
		{5,75,75,2},
		{6,77,79,0},
		{6,107,113,1},
		{6,114,117,3},
		{6,118,118,2}};
	
	protected boolean audienceFlg=false;
	protected boolean waterFlg=false;

	public GameCanvas(Display disp) {						//constructor
		 for (int i = 1; i < loadImgPos.length; i++) {

      loadImgPos[i] += loadImgPos[i - 1];
    }
		ft = Font.getFont(0x70000200);
		
		
		getrecord();
		
		gDisp=disp;
		gda=new GameData();

⌨️ 快捷键说明

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