📄 npc.java
字号:
package perGame;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.Graphics;
public class Npc {
int hp;
int npcState; //0为画,1为不画
int npcID;
int skillID; //所能使用的技能
Image img;
int exp;//打到敌人可以获得的经验
int money;//打到敌人可以获得的金钱
int x;
int y;
int clipX;
int clipY;
int frameWidth;
int frameHeight;
int npc_jingyan;
int npc_attack;
MyCanvas mc;
Graphics g;
Tools tool;
String zhaojun_talk[] = new String[] {"趙云:哥哥,你為什么不同意我去常山找高人學習本領?",
"趙俊:父親在的世時候就說不讓你學武,父親當初在朝為官時遭奸人陷害慘死,我們拼命才逃了出來,只想過平淡的生活。",
"趙云:可是哥哥,近日我和嫂嫂趕集的時候聽聞近郊幾個村子都被強盜洗劫,如果我有了本領也能保哥哥和嫂嫂平安。",
"趙俊:那也不行,我是不會同意你去的。",
"樊秀:子龍,你就聽你哥哥的話吧,晚上想吃什么嫂嫂給你做。",
"趙云心想:無論怎樣我一定要上山學藝!不如去找夏侯蘭商",
///////////////////////////////////////////////////
//手動對話內容
};
String zhaojun_talk01[] = new String[] {
"趙俊:不要到處亂跑,晚上早點回來。",
} ;
String fanxiu_talk[] = new String[] {
"樊秀:晚上早點回來吃飯。",
} ;
String wenchou_talk[]=new String[]{
"文丑:你是何人,竟敢與我挑戰?","趙云:常山趙子龍是也","文丑:無名小辈,拿命來",
};
public Npc(int hp, Image img,int exp,int money,
int clipX, int clipY, int frameWidth, int frameHeight,
MyCanvas mc,int npc_exp,int npc_att) {
this.hp = hp;
this.exp=exp;
this.money=money;
// this.npcState = npcState;
// this.npcID = npcID;
// this.skillID = skillID;
this.img = img;
this.clipX = clipX;
this.clipY = clipY;
this.frameWidth = frameWidth;
this.frameHeight = frameHeight;
this.mc = mc;
this.npc_jingyan=npc_exp;
this.npc_attack=npc_att;
tool=new Tools(mc);
}
/**
* 实现NPC的对话,根据NPC的ID设置不同的头像
* @param g Graphics
* @param mc MyCanvas
*/
public void npc_talk(Graphics g, MyCanvas mc) {
if (mc.talkState && mc.talk_index >= 0) {
g.setColor(0x0);
g.fillRect(0, mc.screenHeight - 48, mc.screenWidth, 48);
g.setColor(0xffffff);
if (mc.talk[mc.talk_index].length() <= 12) {
g.drawString(mc.talk[mc.talk_index], 0, mc.screenHeight - 48,
20);
} else if (mc.talk[mc.talk_index].length() > 12 &&
mc.talk[mc.talk_index].length() <= 24) {
g.drawString(mc.talk[mc.talk_index].substring(0, 12), 0,
mc.screenHeight - 48, 20);
g.drawString(mc.talk[mc.talk_index].substring(12,
mc.talk[mc.talk_index].length()), 0,
mc.screenHeight - 33, 20);
} else if (mc.talk[mc.talk_index].length() > 24 &&
mc.talk[mc.talk_index].length() <= 36) {
g.drawString(mc.talk[mc.talk_index].substring(0, 12), 0,
mc.screenHeight - 48, 20);
g.drawString(mc.talk[mc.talk_index].substring(12, 24), 0,
mc.screenHeight - 33, 20);
g.drawString(mc.talk[mc.talk_index].substring(24,
mc.talk[mc.talk_index].length()), 0,
mc.screenHeight - 18, 20);
} else if (mc.talk[mc.talk_index].length() > 36 &&
mc.talk[mc.talk_index].length() <= 48) {
g.drawString(mc.talk[mc.talk_index].substring(0, 12), 0,
mc.screenHeight - 47, 20);
g.drawString(mc.talk[mc.talk_index].substring(12, 24), 0,
mc.screenHeight - 37, 20);
g.drawString(mc.talk[mc.talk_index].substring(24, 36), 0,
mc.screenHeight - 27, 20);
g.drawString(mc.talk[mc.talk_index].substring(36,
mc.talk[mc.talk_index].length()), 0,
mc.screenHeight - 15, 20);
}
}
}
public void setpostion(int x,int y){
this.x=x;
this.y=y;
}
public void paint(Graphics g){
tool.drawPartImage(g,img,x,y,clipX,clipY,frameWidth,frameHeight);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -