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

📄 jumpmanager.java

📁 j2me的一个手机游戏
💻 JAVA
字号:
package net.frog_parrot.jump;

import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
public class JumpManager extends
javax.microedition.lcdui.game.LayerManager
{
	static int CANVAS_X;
	static int CANVAS_Y;

	static int DISP_WIDTH;
	static int DISP_HEIGHT;
	
	Cowboy myCowboy;
	Tumbleweed[] myLeftTumbleweeds;
	Tumbleweed[] myRightTumbleweeds;

	Grass myGrass;

	boolean myLeft; //Whether or not the player is currently going left
	
	int myCurrentLeftX;

	void setLeft(boolean left)
	{
		myLeft = left;
	}
	
	public JumpManager(int x,int y,int width,int height)
	{
		CANVAS_X = x;
		CANVAS_Y = y;
		DISP_WIDTH = width;
		DISP_HEIGHT = height;
		myCurrentLeftX = Grass.CYCLE*Grass.TILE_WIDTH;
		setViewWindow(0,0,DISP_WIDTH,DISP_HEIGHT);
	}
	
	void reset()
	{
		if(myGrass != null)
		{myGrass.reset();}

		if(myCowboy != null)
		{myCowboy.reset();}
		
		if(myLeftTumbleweeds != null)
		{
			for(int i = 0; i< myLeftTumbleweeds.length;i++)
			{
				myLeftTumbleweeds[i].reset();
			}
		}

		if(myRightTumbleweeds != null)
		{
			for(int i=0; i<myRightTumbleweeds.length;i++)
			{
				myRightTumbleweeds[i].reset();
			}
		}

		myLeft = false;
		myCurrentLeftX = Grass.CYCLE*Grass.TILE_WIDTH;
	}

	public void paint(Graphics g) throws Exception
	{
		if(myCowboy == null)
		{
			myCowboy = new Cowboy(myCurrentLeftX + DISP_WIDTH/2,
			DISP_HEIGHT - Cowboy.HEIGHT - 2);
			append(myCowboy);
		}

		if(myLeftTumbleweeds == null)
		{
			myLeftTumbleweeds = new Tumbleweed[2];
			for(int i=0; i<myLeftTumbleweeds.length;i++)
			{
			myLeftTumbleweeds[i] = new Tumbleweed(true);
			append(myLeftTumbleweeds[i]);
			}
		}

		if(myRightTumbleweeds == null)
		{
			myRightTumbleweeds = new Tumbleweed[2];
			for(int i =0;i<myRightTumbleweeds.length;i++)
			{
				myRightTumbleweeds[i] = new Tumbleweed(false);
				append(myRightTumbleweeds[i]);
			}
		}

		if(myGrass == null)
		{
			myGrass = new Grass();
			append(myGrass);
		}
		
		setViewWindow(myCurrentLeftX,0,DISP_WIDTH,DISP_HEIGHT);
		paint(g, CANVAS_X, CANVAS_Y);
	}

	void wrap()
	{
		if(myCurrentLeftX % (Grass.TILE_WIDTH*Grass.CYCLE) == 0)
		{
			if(myLeft)
			{
				myCowboy.move(Grass.TILE_WIDTH*Grass.CYCLE,0);
				myCurrentLeft += (Grass.TILE_WIDTH*Grass.CYCLE);
				for(int i=0; i<myLeftTumbleweeds.length;i++)
				{
					myLeftTumbleweeds[i].move(Grass.TILE_WIDTH*Grass.CYCLE,0);
				}
				for(int i=0; i<myRightTumbleweeds.length;i++)
				{
					myRightTumbleweeds[i].move(Grass.TILE_WIDTH*Grass.CYCLLE,0);
				}
			}
			else
			{
				myCowboy.move(-(Grass.TILE_WIDTH*Grass.CYCLE),0);
				myCurrentLeftX -= (Grass.TILE_WIDTH*Grass.CYCLE);
				for(int i=0; i<myRightTumbleweeds.length;i++)
				{
					myRightTumbleweeds[i].move(-Grass.TILE_WIDTH*Grass.CYCLE,0);
				}
			}
		}
	}
	
	int advance(int gameTicks)
	{
		int retVal=0;
		if(myLeft)
		{	
			myCurrentLeftX--;
		}
		else
		{
			myCUrrentLeftX++;
		}

		myGrass.advance(gameTicks);
		myCowboy.advance(gameTicks,myLeft);
		for(int i=0; i<myLeftTumbleweeds.length;i++)
		{
			retVal += myLeftTumbleweed[i].advance(myCowboy,gameTicks,
				myLeft,myCurrentLeftX,myCUrrentLeftX+DISP_WIDTH);
			retVal -= myCowboy.checkCollision(myLeftTumbleweeds[i]);
		}

		for(int i=0; i<myLeftTumbleweeds.length;i++)
		{
			retVal += myRightTumbleweeds.advance(myCowboy,gameTicks,
				myLeft,myCurrentLeftX,myCurrentLeftX+DISP_WIDTH);
			retVal -= myCowboy.checkCollision(myRightTumbleweeds[i]);
		}

		wrap();
		return(retVal);
	}
		
	void jump()
	{
		myCowboy.jump();
	}
	
	
}





















































⌨️ 快捷键说明

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