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

📄 people.java

📁 金旭亮的java教案
💻 JAVA
字号:
/*
 * Created on 2006-6-30
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package all;

import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.image.ImageObserver;

/**
 * @author kaito
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class People implements ImageObserver{
	Image bigImage,bigImage1,bigImage2,bigImage3,bigImage4;
	int girlInMapX=1,girlInMapY=1;
	int girlEnterx=0,girlEntery=0;
	boolean pic2=false,canAni=false;
	int girlsX=0,girlsY=0,picX=0,beginPic=9,nowPic;
	int girlsXa=20,girlsYa=0;//辅助定位指令
	
	public void initPeople(MapFunc map1){
		girlInMapX=1;girlInMapY=1;
		girlsX=map1.enterx+girlsXa;
		girlsY=map1.entery+girlsYa;
		nowPic=beginPic;
		picX=nowPic*64;
	}
	public void paintPeople(Graphics g){
		g.drawImage(bigImage,girlsX,girlsY,girlsX+64,girlsY+64,picX,0,picX+64,64,this);
	}
	public void walk(){
		if(canAni){
			girlAni();
			imageAni();
			canAni=false;
		}
		try{
			Thread.sleep(125);
		}
		catch(InterruptedException e){}
	}
	public void checkwalk(int key,MapFunc map1){
		int temp;
		switch(key){
		case(KeyEvent.VK_LEFT):
			temp=map1.maze[girlInMapY][girlInMapX-1];
			System.out.println(map1.maze[girlInMapY][girlInMapX]);
			temp=temp&2;
			if(temp==2){break;}
			beginPic=0;
			girlInMapX-=1;
			canAni=true;
			walk();
			break;
		case(KeyEvent.VK_RIGHT):
			temp=map1.maze[girlInMapY][girlInMapX];
			System.out.println(map1.maze[girlInMapY][girlInMapX]);
			temp=temp&2;
			if(temp==2){break;}
			beginPic=9;
			girlInMapX+=1;
			canAni=true;
			walk();
			break;
		case(KeyEvent.VK_UP):
			temp=map1.maze[girlInMapY][girlInMapX];
			System.out.println(map1.maze[girlInMapY][girlInMapX]);
			temp=temp&1;
			if(temp==1){break;}
			beginPic=3;
			girlInMapY-=1;
			canAni=true;
			walk();
			break;
		case(KeyEvent.VK_DOWN):
			temp=map1.maze[girlInMapY+1][girlInMapX];
			System.out.println(map1.maze[girlInMapY][girlInMapX]);
			temp=temp&1;
			if(temp==1){break;}
			beginPic=6;
			girlInMapY+=1;
			canAni=true;
			walk();
			break;
		}
	}
	public void girlAni(){
		int Xa=55,Ya=14,Xb=53,Yb=20;
		if(beginPic==9){
			girlsX+=Xa;
			girlsY+=Ya;
		}
		else if(beginPic==0){
			girlsX-=Xa;
			girlsY-=Ya;
		}
		else if(beginPic==3){
			girlsX+=Xb;
			girlsY-=Yb;
		}
		else if(beginPic==6){
			girlsX-=Xb;
			girlsY+=Yb;
		}
		else{
		}
	}
	public void imageAni(){
		if(nowPic==beginPic){
			if(pic2==true){
				nowPic+=1;
				picX+=64;
			}
			else{
				nowPic+=2;
				picX+=128;
			}
		}
		else if(nowPic==beginPic+1){
			pic2=!pic2;
			nowPic--;
			picX-=64;
		}
		else if(nowPic==beginPic+2){
			pic2=!pic2;
			nowPic-=2;
			picX-=128;
		}
		else
		{
			nowPic=beginPic;
			picX=nowPic*64;
		}
	}
	public boolean imageUpdate(Image arg0, int arg1, int arg2, int arg3, int arg4, int arg5) {
		// TODO Auto-generated method stub
		return false;
	}
	/**
	 * @param key
	 * @param map1
	 */
}

⌨️ 快捷键说明

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