📄 npc_bound.java
字号:
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
/*
* 创建日期 2006-1-17
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
/**
* @author admin
*
* TODO 要更改此生成的类型注释的模板,请转至 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
public class Npc_Bound
{
private int npcLen=15;
Npc_West npc[] = new Npc_West[npcLen];
GameDataSimple data = WestGameCanvas.data;
void move(int mapDx, int mapDy, Player_West player)
{
int i;
//消失
for (i = npcLen; --i >= 0;)
if (null != npc[i] && npc[i].num == -1)
npc[i] = null;
//移动
Npc_West npcTemp;
for (i = npcLen; --i >= 0;)
{
npcTemp = npc[i];
if (null != npcTemp)
{
if (npcTemp.id == 4 && npcTemp.npcState == 4)
{
npcTemp.setPosition(player.x + 15, player.y
- npcTemp.srcFrameHeight + 20);
}
else
{
npcTemp.move(mapDx, mapDy);
npcTemp.moveSelf(player);
}
}
}
//生成
short[] npcPositionI;
short npcPosition0;
short npcPosition1;
short[] temp = null;
for (i = data.getNpcPosition().length; --i >= 0;)
{
npcPositionI = data.getNpcPosition()[i];
if (npcPositionI[5] + WestGameCanvas.mapX <= 0)
break;
if (npcPositionI[4] + WestGameCanvas.mapX <= WestGameCanvas.screenWidth)
{
for (int j = npcLen; --j >= 0;)
{
if (null != npc[j] && npc[j].num == i)
break;
if (j == 0)
{
for (int k = 0; k < npcLen; k++)
{
if (null == npc[k] || npc[k].num == -1)
{//后有break,只执行一次
npcPosition0 = npcPositionI[0];
npcPosition1 = npcPositionI[1];
switch (npcPosition0)
{
case 0:
temp = data.getNpcKind()[npcPosition1];
break;
case 1:
temp = data.getCloundKind()[npcPosition1];
break;
case 3:
temp = data.getBossKind()[npcPosition1];
break;
case 4:
temp = data.getStoneKind()[npcPosition1];
break;
}
if (npcPosition0 == 2)
npc[k] = new Npc_West(npcPosition0,
npcPosition1, i,
GameDataSimple.imgNpc[0], 18, 20);
else
npc[k] = new Npc_West(npcPosition0,
npcPosition1, i,
GameDataSimple.imgNpc[temp[0]],
temp[1], temp[2]);
break;
}
}
}
}
}
}
}
void paintSelf(Graphics g)
{
for (int i = 0; i < npcLen; i++)
if (null != npc[i])
npc[i].paintSelf(g);
}
void creatCloud(int playerX, int playerY)
{
int i;
Npc_West npcTemp;
short[] coloudKind;
for (i = npcLen; --i >= 0;)
{
npcTemp=npc[i];
if (null != npcTemp && -1 != npcTemp.num && npcTemp.littleId == 4)
return;
}
for (i = 0; i < npcLen; i++)
{
if (null == npc[i])
{
coloudKind=data.getCloundKind()[4];
npc[i] = new Npc_West(1, 4, 0, GameDataSimple.imgNpc[coloudKind[0]], coloudKind[1], coloudKind[2]);
npc[i].setPosition(playerX, playerY);
return;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -