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

📄 mygamecanvas.java

📁 一個j2me空戰游戲程序很不錯,可以作為學習之用
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			           enemy.initObject(screenwidth*3/4-7,0,0,2,0,-1);
			           break;
			         case 3:
			           enemy.initObject(screenwidth/4-7,0,0,3,1,-1);
			           enemy.initObject(screenwidth*3/4-7,0,0,3,1,-1);
			           break;
			         case 4:
			           enemy.initObject(screenwidth/2-7,0,0,2,1,10);
			  
			           break;
			         case 5:
			           enemy.initObject(0,0,2,3,1,10);
			           break;
			         case 6:
			           enemy.initObject(screenwidth-15,0,-2,3,1,10);
			           break;
			         case 7:
			           enemy.initObject(0,0,2,3,1,10);
			           enemy.initObject(screenwidth-15,0,-2,3,1,10);
			  
			           break;
			         case 8:
			           enemy.initObject(screenwidth/4-7,0,0,3,1,10);
			           enemy.initObject(screenwidth*3/4-7,0,0,3,1,10);
			           break;
			         case 9:
			           enemy.initObject(screenwidth/2-7,0,0,2,1,10);
			           enemy.initObject(screenwidth/2-7,-25,0,2,1,10);
			           enemy.initObject(screenwidth/2-7,-50,0,2,1,10);
			           break;
			         case 10:
			           enemy.initObject(screenwidth/2-7,0,0,3,1,10);
			           enemy.initObject(screenwidth/2-7,-25,0,3,1,10);
			           enemy.initObject(screenwidth/2-7,-50,0,3,1,10);
			           break;
			         case 11:
			           enemy.initObject(0,0,2,3,0,-1);
			           enemy.initObject(screenwidth-15,0,-2,3,0,-1);
			           break;
			         case 12:
			           enemy.initObject(screenwidth/4-7,0,0,3,1,10);
			           enemy.initObject(screenwidth/4-7,-25,0,3,1,10);
			           enemy.initObject(screenwidth/4-7,-50,0,3,1,10);
			           enemy.initObject(screenwidth*3/4-7,0,0,3,1,10);
			           enemy.initObject(screenwidth*3/4-7,-25,0,3,1,10);
			           enemy.initObject(screenwidth*3/4-7,-50,0,3,1,10);
			           break;
			         case -1:
			           monster.initObject(1);
			           break;

			        }
			 }
	        }
	        else if (currentgate==2)//第二轮
	        {
	        	step++;
			if ((step%35==0) && (step/35<second.length))
			{
				switch (second[step/35])
			        {
			         case 0:
			           break;//什么敌人都没有
			         case 1:
			           enemy.initObject(screenwidth/2-13,-85,0,2,2,-1);
			           break;
			         case 2:
			           enemy.initObject(screenwidth/4-13,-85,0,2,2,-1);
			           enemy.initObject(screenwidth*3/4-13,-85,0,2,2,-1);
			           break;
			         case 3:
			           enemy.initObject(screenwidth/4-12,-30,0,2,3,20);
			           enemy.initObject(screenwidth*3/4-12,-30,0,2,3,20);
			           break;
			         case 4:
			           enemy.initObject(0,0,2,3,3,20);
			           enemy.initObject(screenwidth-12,0,-2,2,3,20);
			           break;
			         case 5:
			           enemy.initObject(screenwidth/2-12,0,0,2,3,20);
			           enemy.initObject(screenwidth/2-12,-40,0,2,3,20);
			           enemy.initObject(screenwidth/2-12,-80,0,2,3,20);
			           break;
			         case 6:
			           enemy.initObject(0,0,2,3,3,30);
			           enemy.initObject(0,-40,2,3,3,30);
			           enemy.initObject(screenwidth-12,0,-2,2,3,30);
			           enemy.initObject(screenwidth-12,-40,-2,2,3,30);
			           break;
			         case 7:
			           enemy.initObject(screenwidth/4-15,-30,0,2,4,20);
			           enemy.initObject(screenwidth/2-15,-30,0,2,4,20);
			           enemy.initObject(screenwidth*3/4-15,-30,0,2,4,20);
			           break;
			         case 8:
			           enemy.initObject(screenwidth/4-15,-10,0,2,4,20);
			           enemy.initObject(screenwidth/4-15,-40,0,2,4,20);
			           enemy.initObject(screenwidth/4-15,-80,0,2,4,20);
			           enemy.initObject(screenwidth*3/4-15,-10,0,2,4,20);
			           enemy.initObject(screenwidth*3/4-15,-40,0,2,4,20);
			           enemy.initObject(screenwidth*3/4-15,-80,0,2,4,20);
			           break;
			         case 9:
			           enemy.initObject(0,0,2,0,4,20);
			           enemy.initObject(0,50,2,0,4,20);
			           enemy.initObject(screenwidth,30,-2,0,4,20);
			           enemy.initObject(screenwidth,80,-2,0,4,20);
			           break;
			         case 10:
			           enemy.initObject(screenwidth/2-12,0,0,2,3,10);
			           enemy.initObject(0,0,2,2,4,20);
			           enemy.initObject(screenwidth,0,-2,2,4,20);
			           break;

			         case -1:
			           monster.initObject(2);
			           break;
			        }
			 }
	        }
	        else if (currentgate==3)//第三轮
	        {
	        }
	        
	        }
		
		
		if (alive)
		  plane.paint(g);	
		enemy.update();
		enemy.paint(g);
		bullets.update();
		bullets.paint(g);
		monster.update();
		monster.paint(g);
		explosions.update();
		explosions.paint(g);
		if (gameover) 
		{
			alive=false;//关闭plane
			if (myexplosionlife>72)
			{
				myexplosion.setPosition(plane.getX()-15,plane.getY()-20);
				myexplosion.paint(g);
				if (myexplosionlife%3==0)
				  myexplosion.nextFrame();
				myexplosionlife--;
			}
			else if(myexplosionlife>0)
			{
				Gameover.setPosition(25,67);
				Gameover.paint(g);
				myexplosionlife--;
			}
			else
			{
				stop();
				parent.exit();
			}
		}
		else
		{
			if (keyevent) 
			{
				 if(key_up)
				 {
				 	
				 	if (plane.getY()>0)
				 	  plane.move(0, -3);
				 	plane.setFrame(0);
				 }
				 if(key_down)
				 {
				 	if (plane.getY()<(screenheight-plane.getHeight()))
				 	  plane.move(0, 3);
				 	plane.setFrame(0);
				 }
				 if(key_left)
				 {
				 	if (plane.getX()>0)
				 	  plane.move( -3, 0);
				 	plane.setFrame(1);
				 }
				 if(key_right)
				 {
				 	if (plane.getX()<(screenwidth-plane.getWidth()))
				 	  plane.move(3, 0);
				 	plane.setFrame(2);
				 }
				 if(key_fire)
				 {
				 	clock--;
				 	if (clock==0)
				 	{
				 		bullets.initBullet(plane.getX()+plane.getWidth()/2,plane.getY(),0,-4,true);
				 	        clock=3;
				 	}
				 	
				 	
				 }
			}
			else
			{
				plane.setFrame(0);
			}
		}
		flushGraphics();
	}
	private void gameInit()
	{
		//System.out.println(first.length);
		gameover=false;
		alive=true;
		key_up=key_down=key_left=key_right=key_fire=false;
		plane.setPosition((screenwidth-plane.getWidth())/2,screenheight-plane.getHeight());
		step=-1;
		myexplosionlife=108;
        	myexplosion.setFrame(0);
        	clock=3;
        	myView.setViewWindow(0,0,180,177);
        	missionfinished=0;
        	currentY=600;
        	beginlife=60;
        	
        	//计算成绩
        	
        	totalscore+=score;
                score=0;
                
        	Begin.setPosition(35,58);
        	switch(currentgate)
        	{
        		case 1:
        		  try {
        		  	img = Image.createImage("/mission1.png");
        		  }
        		  catch (Exception ex)
        		  {}
        		  break;
        		case 2:
        		  try {
        		  	img = Image.createImage("/mission2.png");
        		  }
        		  catch (Exception ex)
        		  {}
        		  break;
        		case 3:
        		case 4:
        	}
        	Mission.setImage(img,img.getWidth(),img.getHeight());
        	Mission.setPosition(7,60);
        	bullets.reset();
        	enemy.reset();
        	explosions.reset();
        	monster.reset();
	}
	public void stop()
	{
		if(running)
		{
			running = false;
		}
	}
	
	public void commandAction(Command c, Displayable d)
	{
		String cmdstr=c.getLabel();
		if(cmdstr.equals("start"))
		{
			gameInit();
			start();
			removeCommand(startcmd);
			addCommand(restartcmd=new Command("restart",Command.OK,1));
		}
		else if(cmdstr.equals("restart"))
		{
			stop();
			while(t.isAlive());
			gameInit();
			start();
		}
		else if(cmdstr.equals("exit"))
		{
			stop();
			parent.exit();
		}
	}
	private void gameinput()
	{
			keystate=getKeyStates();
			keyevent=false;
			if((keystate & UP_PRESSED)!=0)//向上
			{
				key_up=true;keyevent=true;
			}
			else if((keystate & UP_PRESSED)==0)
			{
				if(key_up==true)
				{
					key_up=false;
				}
			}
			if((keystate & DOWN_PRESSED)!=0)
			{
				key_down=true;keyevent=true;
			}
			else if((keystate & DOWN_PRESSED)==0)
			{
				if(key_down==true)
				{
					key_down=false;
			        }
			 }
			 if((keystate & LEFT_PRESSED)!=0)
			 {
			 	key_left=true;keyevent=true;
			 }
			 else if((keystate & LEFT_PRESSED)==0)
			 {
			 	if(key_left==true)
			 	{
			 		key_left=false;
			 	}
			 }
			 if((keystate & RIGHT_PRESSED)!=0)
			 {
			 	key_right=true;keyevent=true;
			 }
			 else if((keystate & RIGHT_PRESSED)==0)
			 {
			 	if(key_right==true)
			 	{
			 		key_right=false;
			 	}
			 }
			 if((keystate & FIRE_PRESSED)!=0)
			 {
			 	key_fire=true;keyevent=true;
			 }
			 else if((keystate & FIRE_PRESSED)==0)
			 {
			 	if(key_fire==true)
			        {
			        	key_fire=false;
			        }
			 }
			 if(!keyevent)
			 {
                         }
         }
}

⌨️ 快捷键说明

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