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

📄 mycanvas.java

📁 这是j2me开发的一款新潮的益智类小游戏。开发环境是CLDC1.0 MIDP1.0
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
				if(pt>10)
				{
					wait_time=65;
					canvasIndex=12;	
					pt=0;
				}
				break;				
			}
			if(pt>30)
				pt=0;
		break;
		
		case 1:
			
		break;
			
		case 2:
			g.setColor(0xffffff);//获得白色  wait_time  score
			g.fillRect(0,0,GAME_W,GAME_H);//清理全屏	
			g.setClip(GAME_W/2-70,GAME_H/2-70,150,wait_time);
			g.drawImage(Logo2,GAME_W/2-64,GAME_H/2-80,0);
			g.setColor(0x000000);			
//			g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_PLAIN,Font.SIZE_LARGE));
//			g.drawString("2007年11月  重庆校区出品",GAME_W/2-70,GAME_H/2+40,0);
			if(wait_time>=145)
			{
				canvasIndex=5;
				wait_time=0;
			}
		break;
		
		case 5:
			g.setClip(GAME_W/2-wait_time,GAME_H/2-wait_time,wait_time+wait_time,wait_time+wait_time);
//			g.setColor(0xb4f654);//获得绿色 Title
			g.setColor(0x000000);
			g.fillRect(0,0,GAME_W,GAME_H);//清理全屏	
//			g.setColor(0xa171f5);  //Logo_text
//			g.fillRoundRect(7,7,GAME_W-13,GAME_H-15,30,30);
			g.setColor(0xb4f654);			
			g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_PLAIN,Font.SIZE_LARGE));
			g.drawString("正在载入游戏……",30,30,0);
			g.fillRoundRect(20,50,score,10,12,15);
			g.drawString((100*score/(GAME_W/2+GAME_W/4))+"%",GAME_W/2-20,60,0);
			g.setColor(0xffffff);//
			g.drawRoundRect(19,49,GAME_W/2+GAME_W/4+1,11,12,15);
			g.drawImage(Logo_text,GAME_W/2-90,GAME_H/2-60,0);
//			g.drawString("游戏学院   重庆校区",GAME_W/2-62,GAME_H/2-40,0);
//			g.drawString("指导教师:雷京臣",GAME_W/2-54,GAME_H/2-20,0);
//			g.drawString("组长:郑毅",GAME_W/2-37,GAME_H/2,0);
//			g.drawString("组员:郑毅 刘海峰 叶笑池",GAME_W/2-80,GAME_H/2+20,0);
//			g.setColor(0xa41e31);//获得红色
//			g.setColor(0xd901e6);
//			g.drawString("友情协助:何为",GAME_W/2-54,GAME_H/2+40,0);
//			g.drawLine(GAME_W/2,0,GAME_W/2,GAME_H);
			if(pt>12)
			{
				canvasIndex=6;
				wait_time=0;
				score=0;
				pt=0;
			}
			
		break;
				
		case 6://////////////绘制游戏全景图
			
			g.setClip(GAME_W/2-wait_time,0,wait_time+wait_time,GAME_H);
			g.setColor(0xb4f654);//获得绿色
			g.fillRect(0,0,GAME_W,GAME_H);//清理全屏	

			g.drawImage(map,GAME_W/2-120,GAME_H/2-130,0);
			paintMenu(g);////////调用绘制菜单的方法
			if(sound==0||sound==2)
			{
				try {/////////音乐开始播放
					player001.start();
				} catch (MediaException e) {
					// TODO 自动生成 catch 块
					e.printStackTrace();
				}	
			}
//			g.setColor(0x000654);//获得绿色
//			g.fillRect(100,50,50,50);
		break;
						
		case 7:
			g.setColor(0x000000);//获得黑色
			g.fillRect(0,0,GAME_W,GAME_H);//清理全屏
			g.setColor(0xa171f5);//
			g.fillRoundRect(7,7,GAME_W-13,GAME_H-15,30,30);
			g.setColor(0);			
			g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_PLAIN,Font.SIZE_LARGE));
			g.drawString("按“1”进入幸运转盘!",GAME_W/2-67,40,0);
			g.drawString("按“2”进入舞蹈场地!",GAME_W/2-67,60,0);
		break;
		
		case 12://绘制~~~~~马戏团~~~~~~《〈〈〈游戏〉〉〉》界面								
			g.setColor(0x000000);//获得黑色
			g.fillRect(0,0,GAME_W,GAME_H);//清理全屏
			if(sound==0||sound==2)
			{
				try {/////////音乐开始播放
					player200.start();
				} catch (MediaException e) {
					// TODO 自动生成 catch 块
					e.printStackTrace();
				}	
			}
			g.drawImage(map21,origin,GAME_H-200,0);/////////////地图
			g.drawImage(map21,origin+300,GAME_H-200,0);

			
			
			paintLion(g);//////////////////狮子
			painttalk(g);////////////////对话!!!!
			if(talk_i<27)
			{			
				g.setColor(0xffffff);
				g.fillRoundRect(25,GAME_H/2-25,150,50,30,30);
				g.setColor(0x0000ff);
				g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD,Font.SIZE_LARGE));
				g.drawString("按“FIRE”键对话!",30,GAME_H/2-20,0);
			}

			else
			{
				switch(wait_time/15)
				{
				case 0:
////////////////	绘制倒计时数字~~~~~~~~《3》
					paintImage(Text,g,getWidth()/2-13,getHeight()/2-35,19,30,34,0,0);
					break;
				case 1:
////////////////	绘制倒计时数字~~~~~~~~《2》
					paintImage(Text,g,getWidth()/2-13,getHeight()/2-35,19,30,14,0,0);				
					break;
				case 2:
////////////////	绘制倒计时数字~~~~~~~~《1》
					paintImage(Text,g,getWidth()/2-10,getHeight()/2-35,14,30,0,0,0);
					break;
				case 3:
////////////////	绘制~~~~~~~《开始》				
					paintImage(Text,g,getWidth()/2-27,getHeight()/2-35,57,30,93,0,0);
					break;
					
				}
			
				g.setColor(0xffff00);
				g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD,Font.SIZE_LARGE));	
				g.drawString("金币: "+70,5,5,0);
				g.drawString("生命: "+r_Arrow,5,25,0);
				g.drawString("积分: "+score,5,45,0);
				g.setColor(0xff0000);
				g.fillRoundRect(65,30,100,10,10,60);
				g.setColor(0x00ff00);
				g.fillRoundRect(65,30,r_Arrow,10,10,60);
			}

			
		break;
		
		case 13://绘制~~~~~幸运小屋~~~~~~《〈〈〈游戏〉〉〉》界面	
			g.setColor(0x000000);//获得黑色
			g.fillRect(0,0,GAME_W,GAME_H);//清理全屏
			if(wait_time%2==0&&(sound==0||sound==2))
			{
				try {/////////音乐开始播放
					player300.start();
				} catch (MediaException e) {
					// TODO 自动生成 catch 块
					e.printStackTrace();
				}
			}
			else //////////////按数字键"1"可以开关背景音乐(主开关在开启的时候有效)
			{
				try {/////////音乐停止播放
					player300.stop();
				} catch (MediaException e) {
					// TODO 自动生成 catch 块
					e.printStackTrace();
				}	
			}

			if(talk_i>16)
			{
			g.setColor(0xffff00);
			g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD,Font.SIZE_LARGE));		
			g.drawString("金币: "+70,10,10,0);			
			g.drawString("筹码: "+score,10,35,0);
			}
			paintWheel(g);
			painttalk(g);
		break;
			
		case 14://绘制~~~~~~练舞场~~~~~~对话界面
			g.setColor(0xffffff);//获得黑色
			g.fillRect(0,0,GAME_W,GAME_H);//清理全屏	
			g.drawImage(map11,0,GAME_H,Graphics.BOTTOM|Graphics.LEFT);
			g.setColor(255,255,255);
			//绘制对话MM
			paintImage(Npc,g,5,GAME_H-45,40,40,0,0,0);
			//绘制练舞场NPC
			paintImage(Npc,g,5,5,40,40,40,0,0);
			painttalk(g);
			g.setColor(0x000000);
			g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD,Font.SIZE_LARGE));
			g.drawString("按“FIRE”键对话!",GAME_W/2-62,GAME_H/2-5,0);
			
		break;
			
		case 15://绘制~~~~~练舞场~~~~《〈〈〈游戏〉〉〉》界面
			g.setColor(0x000000);//获得黑色
			g.fillRect(0,0,this.getWidth(),this.getHeight());//清理全屏				
			g.drawImage(map11,0,GAME_H,Graphics.BOTTOM|Graphics.LEFT);
			
			g.setColor(0xc02317);//获得黄色r_Arrow
			g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD,Font.SIZE_LARGE));
			g.drawString("金币: "+80,5,5,0);
			g.drawString("积分: "+score,5,25,0);
			g.drawString("速度: "+(score/500+1),5,45,0);			
			g.drawString("状态: 良好",5,65,0);
			switch(wait_time/15)
			{
			case 0:
////////////////绘制倒计时数字~~~~~~~~《5》
				paintImage(Text,g,getWidth()/2-13,getHeight()/2-25,19,30,74,0,0);				
				break;
			case 1:
////////////////绘制倒计时数字~~~~~~~~《4》
				paintImage(Text,g,getWidth()/2-13,getHeight()/2-25,19,30,54,0,0);
				break;
			case 2:
////////////////绘制倒计时数字~~~~~~~~《3》
				paintImage(Text,g,getWidth()/2-13,getHeight()/2-25,19,30,34,0,0);
				break;
			case 3:
////////////////绘制倒计时数字~~~~~~~~《2》
				paintImage(Text,g,getWidth()/2-13,getHeight()/2-25,19,30,14,0,0);				
				break;
			case 4:
////////////////绘制倒计时数字~~~~~~~~《1》
				paintImage(Text,g,getWidth()/2-10,getHeight()/2-25,14,30,0,0,0);
				break;
			case 5:
////////////////绘制~~~~~~~《开始》				
				paintImage(Text,g,getWidth()/2-27,getHeight()/2-25,57,30,93,0,0);
				break;
				
			}
			
			if(wait_time/15>5&&(sound==0||sound==2))
			{
				try {/////////音乐开始播放
					player100.start();
				} catch (MediaException e) {
					// TODO 自动生成 catch 块
					e.printStackTrace();
				}
			
			}
			paintRedArc(g);
			paintDancer(g);//绘制跳舞MM
			paintArrow(g);//绘制跳舞箭头
//			g.drawString("频率: "+r_Arrow,5,45,0);
		break;
		
		case 16:
////////////////绘制~~~~~~~《暂停》
			if(wait_time/15<6)
			{
				//canvasIndex15所有内容(switch(wait_time/15)内除外)				
				g.drawImage(map11,0,GAME_H,Graphics.BOTTOM|Graphics.LEFT);
				paintDancer(g);//绘制跳舞MM
				paintArrow(g);//绘制跳舞箭头
				g.setColor(0xc0c0c0);//获得黄色r_Arrow
				g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD,Font.SIZE_LARGE));
				g.drawString("金币: "+80,5,5,0);
				g.drawString("积分: "+score,5,25,0);
				g.drawString("速度: "+(score/500+1),5,45,0);			
				g.drawString("状态: 良好",5,65,0);
			}
			paintImage(Text,g,getWidth()/2-27,getHeight()/2-25,56,30,150,0,0);
			break;
			
		case 18:
////////////////绘制《~~~~~游戏设置界面~~~~~》
			paintSetup(g);
		break;
	
		case 19:
////////////////绘制《~~~~~游戏介绍界面~~~~~》
			paintGameShow(g);
		break;
	
		case 20:
///////////////绘制《~~~~~宠物店游戏界面~~~~~》		
			g.setColor(0x000000);//获得黑色
			g.fillRect(0,0,GAME_W,GAME_H);//清理全屏	
			g.drawImage(Pet,GAME_W/2-64,GAME_H/2-75,0);
			g.setColor(0x00ff00);//获得绿色
			g.drawRect(GAME_W/2-65+wait_time,GAME_H/2-75+score,46,49);//绘制选筐
			g.drawRect(GAME_W/2-64+wait_time,GAME_H/2-74+score,44,47);//绘制选筐
			painttalk(g);
			if(talk_i>29&&talk_i<34)
			paintImage(Npc,g,GAME_W-43,5,35,40,150,0,0);
			if(talk_i>27&&talk_i<34)
			paintImage(Npc,g,5,GAME_H-43,40,40,0,0,0);
			

//			g.drawRect(wait_time,score,46,49);//绘制选筐
//			g.drawRect(wait_time+1,score+1,44,47);//绘制选筐
	    break;
	    
		case 21:
////////////////绘制《~~~~~★★练舞场★★~~~~游戏帮助~~~~~》
		paintHelp_1(g);
		break;
	
		case 22:
////////////////绘制《~~~~~★★马戏团★★~~~~游戏帮助~~~~~》
		 paintHelp_2(g);
		break;

		case 23:
////////////////绘制《~~~~~★★幸运小屋★★~~~~游戏帮助~~~~~》
		paintHelp_3(g);
		break;

		case 29:
////////////////绘制《~~~~~★★马戏团★★~~~~暂停界面~~~~~》
			try {/////////音乐停止播放
				player200.stop();
			} catch (MediaException e) {
				// TODO 自动生成 catch 块
				e.printStackTrace();
			}
			paintImage(Text,g,getWidth()/2-27,getHeight()/2-25,56,30,150,0,0);
			
		break;
		
		
		
		case 30:
////////////////绘制《~~~~~★★马戏团★★~~~~死亡界面~~~~~》
		g.setColor(0xff0000);
		g.fillRoundRect(10,GAME_H/2-26,200,40,15,15);
		g.setColor(0xffffff);
		g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD,Font.SIZE_LARGE));
		g.drawString("宠物严重受伤,不能继续比赛!",14,GAME_H/2-26,0);
		g.drawString("按“FIRE”键从新开始!",14,GAME_H/2-8,0);
		break;

		}
		g.setColor(0x00ff00);//获得绿色,绘制游戏屏幕边框paintHelp_3
		g.drawRect(0,0,GAME_W-1,GAME_H-1);
		
	}

	

	
	

	
	
/***********************************************************************************
 * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@                @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 *********************************  所有的更新  *************************************
 * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@                @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 ************************************************************************************
 */	
	
	
	
			
//////////////////////系统生成的更新方法	
	public void run() 
	{
		while(true)	
		{
			st=System.currentTimeMillis();//在每次更新前获得一个系统时间
			
////////////////////////////////////////////////////			
//*********************更新开始********************//
////////////////////////////////////////////////////
			switch(canvasIndex)//每个屏幕更新不同内容
			{
			
				case 0://///////////~~~~~~~~~~~~~屏幕切换时初始数据的等待界面
					
					if(wait_time<GAME_W/2+GAME_W/4)//进度条的长度根据手机屏幕大小变化
						wait_time+=4;////进度条的速度
					else
						pt++;////////进度条添满后的等待时间
				break;
				
				case 1:
					
				break;
					
				case 2:
					if(wait_time<145)////控制显示的区域
					wait_time+=3;////显示的速度				
				break;
				
				case 5:
					if(wait_time<GAME_H||wait_time<GAME_W)//当显示的区域小于手机屏幕的宽高时,就让它扩大+20
						wait_time+=6;////显示的速度	
					else
					{
						if(score<GAME_W/2+GAME_W/4)//进度条的长度根据手机屏幕大小变化
						score+=4;////进度条的速度	
						else
						pt++;////////进度条添满后的等待时间
					}
				break;
						
				case 6://///////////菜单界面
					
					if(wait_time<GAME_H||wait_time<GAME_W)//当显示的区域小于手机屏幕的宽高时,就让它扩大
						wait_time+=3;////显示的速度
					pt++;//控制文字闪动
					if(pt>32)
						pt=0;
				break;
				
				case 12://///////////////////******<<<马戏团>>>*****游戏界面
					
					if(wait_time<61&&talk_i>26)//游戏等待时间在小于91次更新时,每次自加1
						wait_time++;//自身累加1
					LXAJ();
					jianchepengzhuang();
					if(origin<-300)//////地图滚动300后
						origin=0;//////从新开始
					Fire_x+=3;/////////火焰闪动
					if(Fire_x>30)////////限定数值
						Fire_x=0;////////从新开始
					
					if(talk_i>26&&wait_time>60)//在对话结束,程序更新90次以后,等待结束,游戏开始循环
					{
						zhuangtai();
						site+=3;///////////火圈的移动
						if(site>460)
							site=0;
					}
						if(fettle_lion==4)
						r_Arrow--;
						

⌨️ 快捷键说明

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