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

📄 npcrole.java

📁 一个仙剑的源代码
💻 JAVA
字号:
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;

//--------------------------------------------------------------------------------------------------------
//游戏名称: 仙剑奇侠传
//作者: 张卫国
//E-mail: weiguo2000@hotmail.com
//创建于:2006/7/18--2006/8/3  by Weiguo
//
//--------------------------------------------------------------------------------------------------------

//npcID规则:任务ID/流水号/类型 
//
public class NpcRole {
	public	String 	name 		 = "";	//人物名称
	private Image[] currentImage = null;
	public	int 	x;
	public 	int 	y;					//人物的XY坐标值	
	public 	int 	speed = 3; 			//速度	
	private int 	frameID;
	private int 	dir   = 0; 			//0 up 1 right 2 down 3 left
	private int 	npcID;
	
	public NpcRole(String name,int npcid) {
		this.name=name;
		this.frameID=1;
		this.npcID=npcid;		
	}
	public int getID()
	{
		return npcID;
	}
	public void setPosition(int x,int y){
		this.x=x;
		this.y=y;
	}
	
	public void changeDir(int dir){
		this.dir=dir;
		switch(npcID%10){
		case 1:
			switch(dir){
			case 0: //上
				this.currentImage=XianJianImage.imgNpc1u;
				break;
			case 1: //右
				//this.currentImage=XianJianImage.imgNpc1r;
				break;
			case 2:  //下
				this.currentImage=XianJianImage.imgNpc1d;
				break;
			case 3:  //左
				this.currentImage=XianJianImage.imgNpc1l;
				break;
			default:
				break;	
			}
			break;
		case 2:
			switch(dir){
			case 0: //上
				this.currentImage=XianJianImage.imgNpc2u;
				break;
			case 1: //右
				//this.currentImage=XianJianImage.imgNpc2r;
				break;
			case 2:  //下
				this.currentImage=XianJianImage.imgNpc2d;
				break;
			case 3:  //左
				//this.currentImage=XianJianImage.imgNpc2l;
				break;
			default:
				break;	
			}
			break;
		case 3:
			this.currentImage=XianJianImage.shangdian;
			break;
		default:
			break;
		}
	}
	
	public void nextFrame(){
		frameID++;
		frameID%=currentImage.length;
	}
	public int getDir(){
		return dir;
	}		
	
	public void move(){
		switch(dir){
		case 0://上
			x+=speed*2;
			y+=-speed;						
			break;
		case 1://右
			x+=speed*2;
			y+=speed;			
			break;
		case 2://下
			x+=-speed*2;
			y+=speed;			
			break;
		case 3://左
			x+=-speed*2;
			y+=-speed;		
			break;
		}		
	}

	public void draw(int xtmp,int ytmp,Graphics g) {		
	      g.drawImage( currentImage[0],xtmp+x-6,ytmp+y-19,Graphics.TOP | Graphics.LEFT); 
	}
	  
	public String getName() {
	    return this.name;
	}
}

⌨️ 快捷键说明

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