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

📄 mycanvas.java

📁 这是j2me开发的一款新潮的益智类小游戏。开发环境是CLDC1.0 MIDP1.0
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
						g.setColor(0xffffff);//获得白色
						g.drawRoundRect(GAME_W-175,5,110,40,10,15);				
						g.drawString(talk[talk_i+talk_i+talk_i],GAME_W-173,6,0);
						g.drawString(talk[talk_i+talk_i+talk_i+1],GAME_W-173,17,0);
						g.drawString(talk[talk_i+talk_i+talk_i+2],GAME_W-173,29,0);
						break;	
					
				}
						
			}
			
			else if(talk_i%2!=0)//********主角说话内容*********&&talk_i<17
			{
	
				g.setColor(0xd894f5);
				g.fillArc(46,GAME_H-30,7,7,0,360);
				g.fillArc(55,GAME_H-35,13,13,0,360);
				g.setColor(0xffffff);
				g.fillRoundRect(72,GAME_H-45,100,40,10,15);

//				g.setColor(0x000000);
//				g.drawRoundRect(72,GAME_H-45,99,39,10,15);
				g.setColor(0xb400ef);
				g.fillArc(46,GAME_H-30,7,7,0,360);
				g.fillArc(55,GAME_H-35,13,13,0,360);
				g.drawRoundRect(72,GAME_H-45,99,39,10,15);
				g.drawString(talk[talk_i+talk_i+talk_i],76,GAME_H-46,0); 
				g.drawString(talk[talk_i+talk_i+talk_i+1],76,GAME_H-33,0);
				g.drawString(talk[talk_i+talk_i+talk_i+2],76,GAME_H-20,0);
			}
		}
		
	}
	
////////////////////////绘制所有跳舞箭头	
	public void paintArrow(Graphics g)
	{
		

//		蓝色静态箭头
		paintImage(Arrow,g,GAME_W-100,10,15,15,15,0,0);
		paintImage(Arrow,g,GAME_W-76,10,15,15,60,0,0);
		paintImage(Arrow,g,GAME_W-52,10,15,15,105,0,0);
		paintImage(Arrow,g,GAME_W-28,10,15,15,150,0,0);
		
//		白色静态箭头
		paintImage(Arrow,g,GAME_W-100,GAME_H-70,15,15,0+place_Arrow[0]*30,0,0);
		paintImage(Arrow,g,GAME_W-76,GAME_H-70,15,15,45+place_Arrow[1]*30,0,0);
		paintImage(Arrow,g,GAME_W-52,GAME_H-70,15,15,90+place_Arrow[2]*30,0,0);
		paintImage(Arrow,g,GAME_W-28,GAME_H-70,15,15,135+place_Arrow[3]*30,0,0);
		
		
		//蓝色动态箭头
		for(int i=0;i<array_Arrow.length-1;i++)
		{
			if(array_Arrow[i][0]==1)
			{
				paintImage(Arrow,g,array_Arrow[i][1],array_Arrow[i][2],15,15,array_Arrow[19][array_Arrow[i][4]],0,0);
			}
		}		
		

	}

///////////////////绘制~~~~~~~在按键按错时出现的~~~~~~红圆	
	public void paintRedArc(Graphics g)
	{	
		g.setColor(0xff0000);
		for(int i=0;i<4;++i)
		{
			if(ArrowTemp[i]>0)
			{
				g.fillArc(GAME_W-105+24*i,GAME_H-74,23,23,0,360);
			}
		}
	}
	
///////////////////绘制~~~~~~~*****马戏团*****的狮子~~~~~~	
	public void paintLion(Graphics g)
	{	
		
		if(Fire_x<15)//火圈
		{
			paintImage(Fire01,g,430-site,GAME_H-80,12,20,30,20,0);//////会被狮子挡的块		
		}
		else
		{		
			paintImage(Fire01,g,430-site,GAME_H-80,12,20,60,20,0);//////会被狮子挡的块	
		}
		
		//////////////绘制狮子
		paintImage(Lion,g,40+array_lion[ps[pt]][4],GAME_H-(30+speed)+y_lion+array_lion[ps[pt]][5],array_lion[ps[pt]][2],array_lion[ps[pt]][3],array_lion[ps[pt]][0],array_lion[ps[pt]][1],0);

		if(Fire_x<15)//火盆
		{
			paintImage(Fire01,g,origin+130,GAME_H-58,30,27,0,0,0);
			paintImage(Fire01,g,origin+430,GAME_H-58,30,27,0,0,0);
		}
		else
		{
			paintImage(Fire01,g,origin+130,GAME_H-56,30,27,0,30,0);
			paintImage(Fire01,g,origin+430,GAME_H-56,30,27,0,30,0);
		}
		
			if(Fire_x<15)//火圈
			{
		
				paintImage(Fire01,g,430-site,GAME_H-100,27,20,30,0,0);		
				paintImage(Fire01,g,442-site,GAME_H-80,12,20,43,20,0);
				paintImage(Fire01,g,429-site,GAME_H-61,27,20,30,40,0);		
			}
			else
			{
			
				paintImage(Fire01,g,430-site,GAME_H-100,27,20,60,0,0);		
				paintImage(Fire01,g,442-site,GAME_H-80,12,20,73,20,0);
				paintImage(Fire01,g,429-site,GAME_H-61,27,20,60,40,0);		
			}
			
			if(talk_i>17&&talk_a==true)
			{
				paintImage(Npc,g,GAME_W-43,5,35,40,120,0,0);
				paintImage(Npc,g,5,GAME_H-43,40,40,0,0,0);
			}
		
//			g.setColor(0xff00ff);
//			g.fillRect(433-site,GAME_H-63,25,20);
//			g.fillRect(40,GAME_H-(30+speed)+y_lion+array_lion[ps[pt]][5],array_lion[ps[pt]][2]-10+array_lion[ps[pt]][4],array_lion[ps[pt]][3]/2);
			
		
	}
		
////////////////////////生成动态跳舞箭头	
	public void creatArrow()
	{		
		for(int i=0;i<array_Arrow.length-1;i++)
		{
			if(array_Arrow[i][0]==0)
			{
				int  s;//局部变量用来控制生成的箭头的x坐标及方向
				s=Math.abs(r.nextInt())%4;//让s的值在0,1,2,3之间随机一个
				array_Arrow[i][0]=1;//存在状态 0为不存在 1为存在
				array_Arrow[i][1]=GAME_W-100+24*s;//x坐标
				array_Arrow[i][2]=10;//y坐标
				array_Arrow[i][3]=score/500+3;//箭头下落的速度与积分相关
				
					
				array_Arrow[i][4]=s;//箭头的类型  有上 下 左 右四个方向
				
				break;
			}
		}
	}
	
////////////////////////更新****幸运转盘*****	
	public void nextWheel()
	{		
		origin-=speed;
		if(speed>0)
		{
			speed--;
			if (speed==0)
			{
				origin=origin%360;
				if (site==0&&origin>=-315&&origin<=-270
				   	  ||site==15&&origin>=-360&&origin<=-315
					||site==30&&origin>=-45&&origin<=0
					  ||site==45&&origin>=-90&&origin<=-45
					||site==60&&origin>=-135&&origin<=-90
					  ||site==75&&origin>=-180&&origin<=-135
					||site==90&&origin>=-225&&origin<=-180
					  ||site==105&&origin>=-270&&origin<=-225)////////////当左边的颜色和右边的颜色一样
					{
						score+=100;
						Fire_x=Math.abs(r.nextInt())%4+105;
						if(sound==0||sound==1)
						{
							try {/////////音乐开始播放
								player301.start();
							} catch (MediaException e) {
								// TODO 自动生成 catch 块
								e.printStackTrace();
							}	
						}

					}else{
						
						Fire_x=Math.abs(r.nextInt())%8+109;
					}
				
			}	
		}
		
	}
	
////////////////////////更新动态跳舞箭头		
	public void nextArrow()
	{
		space++;
		if(space>=r_Arrow)
		{
			r_Arrow=Math.abs(r.nextInt())%(20-score/250)+(7-score/800);
			creatArrow();
			space=0;
		}
		for(int i=0;i<array_Arrow.length;i++)
		{
			if(array_Arrow[i][0]==1)
			{
				array_Arrow[i][2]+=array_Arrow[i][3];
				if(array_Arrow[i][2]+7>GAME_H-70&&array_Arrow[i][2]<GAME_H-57)
				{
					switch(array_Arrow[i][4])
					{
					
					case 0:
						if(UP==true)
						{
							array_Arrow[i][0]=0;
							score+=5;
							if(array_Arrow[i][2]+4>GAME_H-70&&array_Arrow[i][2]<GAME_H-65)							
							{
								place_Arrow[0]=1;
								score+=5;
								if(sound==0||sound==1)
								{
									try {/////////音乐开始播放
										player002.start();
									} catch (MediaException e) {
										// TODO 自动生成 catch 块
										e.printStackTrace();
									}	
								}
								

							}
							
						}
						break;
						
					case 1:
						if(LEFT==true)//LEFT==true
						{
							array_Arrow[i][0]=0;
							score+=5;
							if(array_Arrow[i][2]+4>GAME_H-70&&array_Arrow[i][2]<GAME_H-65)									
							{
								place_Arrow[1]=1;
								score+=5;
								if(sound==0||sound==1)
								{
									try {/////////音乐开始播放
										player002.start();
									} catch (MediaException e) {
										// TODO 自动生成 catch 块
										e.printStackTrace();
									}	
								}
								

							}
						}
						break;
						
					case 2:
						if(RIGHT==true)
						{
							array_Arrow[i][0]=0;
							score+=5;
							if(array_Arrow[i][2]+4>GAME_H-70&&array_Arrow[i][2]<GAME_H-65)									
							{
								place_Arrow[2]=1;
								score+=5;
								if(sound==0||sound==1)
								{
									try {/////////音乐开始播放
										player002.start();
									} catch (MediaException e) {
										// TODO 自动生成 catch 块
										e.printStackTrace();
									}

								}
								
							}
						}
						break;
					case 3:
						
						if(DOWN==true)
						{
							array_Arrow[i][0]=0;
							score+=5;
							if(array_Arrow[i][2]+4>GAME_H-70&&array_Arrow[i][2]<GAME_H-65)									
							{
								place_Arrow[3]=1;
								score+=5;
								if(sound==0||sound==1)
								{
									try {/////////音乐开始播放
										player002.start();
									} catch (MediaException e) {
										// TODO 自动生成 catch 块
										e.printStackTrace();
									}

								}
								
							}
						}
						break;
						
					}
				}
				if(array_Arrow[i][2]>GAME_H)
				{
					array_Arrow[i][0]=0;
					if(score>0&&score<2200)
					score-=5;
					else if(score>0&&score<3600)
					{
						score-=10;
					}
					else
					{
						score-=15;
					}
				}
			}
		}
		
		
	}
	

////////////////////////////////狮子的各种状态	
	public void zhuangtai()
	{

		switch(fettle_lion)
		{
		case 0://////////////普通状态
			ps=new int[]{0,0,0,0};
			pt++;/////////////动画侦切换
			if(pt>=ps.length-1)/////////循环播放动画
			{
				pt=0;////////从第零张开始
			}
			y_lion+=speed;
			speed++;
			if(y_lion>=0)
				{
				y_lion=0;
				speed=0;
//				pt=0;
//				fettle_lion=0;
				}
			break;
		case 1:///////////////跳跃状态
			ps=new int []{2,2,2,2,2,2,2,2,2};
			pt++;/////////////动画侦切换
			if(pt>=ps.length-1)/////////循环播放动画
			{
				pt=0;////////从第零张开始
			}
			y_lion+=speed;
			speed++;
			if(y_lion==0)
				{
				speed=0;
//				pt=0;
				fettle_lion=0;
				}
			break;
		case 2://///////////向右跑
			ps=new int []{1,1,1,1,2,2,2,2,2};
			pt++;/////////////动画侦切换
			if(pt>=ps.length-1)/////////循环播放动画
			{
				pt=0;////////从第零张开始
			}
			y_lion+=speed;
			speed++;
			if(y_lion>=0)
				{
				y_lion=0;
				speed=0;
//				pt=0;
//				fettle_lion=0;
				}
			break;
		case 3://////////////向左退
			ps=new int []{1,1,1,1,1,1,0,0,0,0};
			pt++;/////////////动画侦切换
			if(pt>=ps.length-1)/////////循环播放动画
			{
				pt=0;////////从第零张开始
			}
			y_lion+=speed;
			speed++;
			if(y_lion>=0)
				{
				y_lion=0;
				speed=0;
//				pt=0;
//				fettle_lion=0;
				}
			break;
			
		case 4://////////////狮子的死亡
			ps=new int []{3,3,3,3,3,3,3};
			pt++;/////////////动画侦切换
			if(pt>=ps.length-1)/////////循环播放动画
			{
				pt=0;////////从第零张开始
			}
			break;
				
		}
	}
	
	


//////////////////////////马戏团狮子碰撞的检测	
	public void jianchepengzhuang()
	{
		if(  butt(40,GAME_H-(30+speed)+y_lion+array_lion[ps[pt]][5],array_lion[ps[pt]][2]-10+array_lion[ps[pt]][4],array_lion[ps[pt]][3]/2,origin+138,GAME_H-60,25,23)
		   ||butt(40,GAME_H-(30+speed)+y_lion+array_lion[ps[pt]][5],array_lion[ps[pt]][2]-10+array_lion[ps[pt]][4],array_lion[ps[pt]][3]/2,origin+438,GAME_H-60,25,23)
		     ||butt(40,GAME_H-(30+speed)+y_lion+array_lion[ps[pt]][5],array_lion[ps[pt]][2]-10+array_lion[ps[pt]][4],array_lion[ps[pt]][3]/2,433-site,GAME_H-63,25,23))
		{
			fettle_lion=4;
			Cursor=4;
				if(r_Arrow<=0)
			{
				canvasIndex=30;	
			}
		}
		
		else if(  butt(40,GAME_H-(30+speed)+y_lion+array_lion[ps[pt]][5],7,array_lion[ps[pt]][3]/2,origin+145,GAME_H-83,1,23)
				   ||butt(40,GAME_H-(30+speed)+y_lion+array_lion[ps[pt]][5],7,array_lion[ps[pt]][3]/2,origin+445,GAME_H-83,1,23)
				     ||butt(40,GAME_H-(30+speed)+y_lion+array_lion[ps[pt]][5],8,array_lion[ps[pt]][3]/2,440-site,GAME_H-86,1,23))
				{
					score+=10;
				}
	}
	
	

⌨️ 快捷键说明

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