?? thlaaction.java
字號:
import java.io.IOException;
import java.util.Random;
import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.LayerManager;
public class ThLaAction extends Canvas {
ThLaMons tlms;
ThLaSpActSkill tlsas;
ThLaActMenu tlam;
Random random;
String []menu={"攻擊","防御","道具","逃跑"};
String []menu1={"a","b","c","d"};
String []act={"普攻","魔法","特技"};
String []act1={"a-1","a-2","a-3","a-4"};
String []item1={"c-1","c-2"};
int monsNum;
int actW,actH;
int dtjW,dtjH;
int dNum,dNum_one,dNum_two,dNum_three;
Image imgSp1,imgSp2,imgSp3;
Image imgJTr,imgJTl;
int lastmonsOneState,lastmonsTwoState;
int spOneAble,spTwoAble,spThreeAble;
int monsOneAble,monsOneANum,monsOneSNum,monsOneW,monsOneH;
int monsTwoAble,monsTwoANum,monsTwoSNum,monsTwoW,monsTwoH;
int spOneLiveW,spTwoLiveW,spThreeLiveW;
int spOneMpW,spTwoMpW,spThreeMpW;
int monsOneLiveW,monsTwoLiveW,monsThreeLiveW;
int monsActSPNum,monsAsTCV; //保存怪物隨機攻擊主角的變量
boolean spOneLive,spTwoLive,spThreeLive,monsOneLive,monsTwoLive;
int spOnedieFNum, spTwodieFNum, spThreedieFNum;
int spTwoMgcOneNum;
int spOneState,spTwoState,spThreeState;
int spTwoMOneW,spTwoMOneH;
LayerManager lmanager;
public ThLaAction()
{
if(tlms==null)
{
tlms=new ThLaMons();
}
if(random==null)
{
random=new Random();
}
if(tlsas==null)
{
tlsas=new ThLaSpActSkill();
}
if(tlam==null)
{
tlam=new ThLaActMenu();
}
actW=1;
actH=130;
monsNum=2;
lastmonsOneState=1;
lastmonsTwoState=1;
spOneLiveW=29;
spTwoLiveW=29;
spThreeLiveW=29;
monsOneLiveW=47;
monsTwoLiveW=47;
monsThreeLiveW=47;
spOneMpW=spTwoMpW=spThreeMpW=29;
monsActSPNum=4;
monsOneW=4;
monsOneH=15;
monsTwoW=14;
monsTwoH=85;
spOneLive=spTwoLive=spThreeLive=monsOneLive=monsTwoLive=true;
try {
imgSp1=Image.createImage("/res/sp1.png");
imgSp2=Image.createImage("/res/sp2.png");
imgSp3=Image.createImage("/res/sp3.png");
imgJTr=Image.createImage("/res/jiantouZuo.png");
imgJTl=Image.createImage("/res/jiantouYou.png");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(lmanager==null)
{
lmanager=new LayerManager();
}
}
protected void paint(Graphics arg0) {
// TODO Auto-generated method stu
}
public void ActionOverAble()
{
if(monsOneLiveW<=0)
{
monsOneLive=false;
}
if(monsTwoLiveW<=0)
{
monsTwoLive=false;
}
if(!monsOneLive&&!monsTwoLive)
{
ThLaCV.mnNum=ThLaKeyNum.ACTOVER;
}
if(spOneLiveW<=0)
{
spOneLive=false;
}
if(spTwoLiveW<=0)
{
spTwoLive=false;
}
if(spThreeLiveW<=0)
{
spThreeLive=false;
}
if(spOneLive)spOnedieFNum=0;
if(spTwoLive)spTwodieFNum=0;
if(spThreeLive)spThreedieFNum=0;
}
public void DrawSpRect(Graphics g)
{
g.setColor(0xffffff);
g.drawRect(1,173, 57, 34);
g.drawRect(2,174, 56, 33);
g.drawImage(imgSp1, 3, 175, Graphics.TOP|Graphics.LEFT);
g.setColor(0x000000);
g.drawRect(26, 176, 30, 7);
g.drawRect(26, 187, 30, 7);
g.setColor(0xff4242);
g.fillRect(27, 177, spOneLiveW, 6);
g.setColor(0x7864ff);
g.fillRect(27, 188, spOneMpW, 6);
g.setColor(0xffffff);
g.drawRect(59,173, 57, 34);
g.drawRect(59,174, 56, 33);
g.drawImage(imgSp2, 62, 175, Graphics.TOP|Graphics.LEFT);
g.setColor(0x000000);
g.drawRect(84, 176, 30, 7);
g.drawRect(84, 187, 30, 7);
g.setColor(0xff4242);
g.fillRect(85, 177, spTwoLiveW, 6);
g.setColor(0x7864ff);
g.fillRect(85, 188, spTwoMpW, 6);
g.setColor(0xffffff);
g.drawRect(117,173, 57, 34);
g.drawRect(117,174, 56, 33);
g.drawImage(imgSp3, 119, 175, Graphics.TOP|Graphics.LEFT);
g.setColor(0x000000);
g.drawRect(141, 176, 30, 7);
g.drawRect(141, 187, 30, 7);
g.setColor(0xff4242);
g.fillRect(142, 177, spThreeLiveW, 6);
g.setColor(0x7864ff);
g.fillRect(142, 188, spThreeMpW, 6);
}
public void DrawMap(Graphics g,int numA,int num)
{
this.setFullScreenMode(true);
g.setColor(0x70000ff);
g.drawRect(60, 70, 65, 42);
g.drawRect(58, 68, 65, 42);
g.setColor(0xffffff);
g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_SMALL));
for(numA=0,dNum=1;numA<menu.length;numA++,dNum++)
{
if(dNum==1){dtjW=0;dtjH=3;}
else if(dNum==2){dtjW=34;dtjH=3;}
else if(dNum==3){dtjW=0;dtjH=23;}
else if(dNum==4){dtjW=34;dtjH=23;}
if(numA==num){
g.setColor(0xffff00);
g.setFont(Font.getFont(Font.FACE_SYSTEM,Font.STYLE_BOLD|Font.STYLE_ITALIC,Font.SIZE_LARGE));
g.drawString(menu[numA],60+dtjW,70+dtjH,Graphics.TOP|Graphics.LEFT); /**選擇保存菜單數(shù)組中的一段文字并輸出到指定坐標*/
}
else{
g.setColor(0x0000ff);
g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD|Font.STYLE_ITALIC, Font.SIZE_LARGE));
g.drawString(menu[numA],60+dtjW,70+dtjH,Graphics.TOP|Graphics.LEFT); /**選擇保存菜單數(shù)組中的一段文字并輸出到指定坐標*/
}
}
}
public void DrawMap_One(Graphics g,int numA,int num)
{
this.setFullScreenMode(true);
g.setColor(0x0000ff);
g.drawRect(60, 70, 65, 42);
g.drawRect(58, 68, 65, 42);
g.setColor(0xffffff);
g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_SMALL));
for(numA=0,dNum_one=1;numA<act.length;numA++,dNum_one++)
{
if(dNum_one==1){dtjW=0;dtjH=3;}
else if(dNum_one==2){dtjW=32;dtjH=3;}
else if(dNum_one==3){dtjW=0;dtjH=23;}
else if(dNum_one==4){dtjW=32;dtjH=23;}
if(numA==num){
g.setColor(0xffff00);
g.setFont(Font.getFont(Font.FACE_SYSTEM,Font.STYLE_BOLD|Font.STYLE_ITALIC,Font.SIZE_LARGE));
g.drawString(act[numA],60+dtjW,70+dtjH,Graphics.TOP|Graphics.LEFT); } /**選擇保存菜單數(shù)組中的一段文字并輸出到指定坐標*/
else{
g.setColor(0x0000ff);
g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD|Font.STYLE_ITALIC, Font.SIZE_LARGE));
g.drawString(act[numA],60+dtjW,70+dtjH,Graphics.TOP|Graphics.LEFT); } /**選擇保存菜單數(shù)組中的一段文字并輸出到指定坐標*/
}
}
public void SpOneActStateAble()
{
spOneAble=0;
if(tlsas.spOneANum>9)
{
spOneAble=1;
tlsas.spOneANum=0;
}
}
public void SpOneActAble(int aNum)
{
tlsas.SpOneActFrame(spOneAble,aNum);
}
public void SpTwoActStateAble()
{
spTwoAble=0;
if(tlsas.spTwoANum>9)
{
spTwoAble=1;
tlsas.spTwoANum=0;
}
}
public void SpTwoActAble(int aNum)
{
tlsas.SpTwoActFrame(spTwoAble,aNum);
}
public void SpThreeActStateAble()
{
spThreeAble=0;
if(tlsas.spThreeANum>5)
{
spThreeAble=1;
tlsas.spThreeANum=0;
}
}
public void SpThreeActAble(int aNum)
{
tlsas.SpThreeActFrame(spThreeAble,aNum);
}
public void AppendSpAndMons(Graphics g)
{
lmanager.append(tlsas.sp1act);
tlsas.sp1act.setPosition(tlsas.spOneW, tlsas.spOneH);
lmanager.append(tlsas.sp2act);
tlsas.sp2act.setPosition(tlsas.spTwoW, tlsas.spTwoH);
lmanager.append(tlsas.sp3act);
tlsas.sp3act.setPosition(tlsas.spThreeW, tlsas.spThreeH);
lmanager.append(tlms.one_mons_one);
tlms.one_mons_one.setPosition(monsOneW, monsOneH);
lmanager.append(tlms.one_mons_two);
tlms.one_mons_two.setPosition(monsTwoW, monsTwoH);
lmanager.paint(g,0,0);
lmanager.setViewWindow(0, 0,176,208);
g.setColor(0x000000);
g.drawRect(4, 5, 48, 5);
g.drawRect(4, 80, 48, 5);
g.setColor(0xff0000);
g.fillRect(5, 6, monsOneLiveW, 4);
g.fillRect(5, 81, monsTwoLiveW, 4);
}
public void MonsOneAble(Graphics g)
{
MonsOneFrame(monsOneAble);
}
public void MonsOneActStateAble()
{
if(monsActSPNum==4)
{
monsActSPNum=random.nextInt();
monsActSPNum=monsActSPNum%3;
}
monsAsTCV=monsActSPNum;
monsOneAble=ThLaKeyNum.MONS_ACT;
if(monsOneANum>2)
{
monsOneAble=ThLaKeyNum.MONS_STAND;
monsOneANum=10;
monsActSPNum=4;
}
}
public void MonsOneStateAble()
{
//monsActSPNum=random.nextInt(3);
monsOneAble=ThLaKeyNum.MONS_ACTES;
if(monsOneSNum==2)
{
monsOneAble=ThLaKeyNum.MONS_STAND;
monsOneSNum=3;
}
}
public void MonsOneFrame(int monsState)
{
if(!monsOneLive)
{
monsState=150;
}
switch(monsState)
{
case ThLaKeyNum.MONS_STAND:
monsOneW=4;
monsOneH=15;
if(lastmonsOneState!=monsState)
{
tlms.one_mons_one.setFrameSequence(new int[]{0,1});
lastmonsOneState=monsState;
}
else tlms.one_mons_one.nextFrame();
break;
case ThLaKeyNum.MONS_ACT:
if(monsActSPNum==0)
{
monsOneW=84;
monsOneH=0;
}
else if(monsActSPNum==1)
{
monsOneW=85;
monsOneH=53;
}
else if(monsActSPNum==2)
{
monsOneW=82;
monsOneH=108;
}
else
{
monsOneW=84;
monsOneH=0;
}
if(lastmonsOneState!=monsState)
{
tlms.one_mons_one.setFrameSequence(new int[]{2,3,4});
lastmonsOneState=monsState;
}
else {tlms.one_mons_one.nextFrame();monsOneANum++;}
break;
case ThLaKeyNum.MONS_ACTES:
if(lastmonsOneState!=monsState)
{
tlms.one_mons_one.setFrameSequence(new int[]{5});
lastmonsOneState=monsState;
}
else {tlms.one_mons_one.nextFrame();monsOneSNum++;}
break;
case 150:
if(lastmonsOneState!=monsState)
{
tlms.one_mons_one.setFrameSequence(new int[]{7});
lastmonsOneState=monsState;
}
else {tlms.one_mons_one.nextFrame();monsOneSNum++;}
break;
default:
break;
}
}
public void MonsTwoAble(Graphics g)
{
MonsTwoFrame(monsTwoAble);
}
public void MonsTwoActStateAble()
{
if(monsActSPNum==4)
{
monsActSPNum=random.nextInt();
monsActSPNum=monsActSPNum%3;
}
monsAsTCV=monsActSPNum;
monsTwoAble=ThLaKeyNum.MONS_ACT;
if(monsTwoANum>9)
{
monsTwoAble=ThLaKeyNum.MONS_STAND;
// monsTwoANum=10;
monsActSPNum=4;
}
}
public void MonsTwoStateAble()
{
//monsActSPNum=random.nextInt(3);
monsTwoAble=ThLaKeyNum.MONS_ACTES;
if(monsTwoSNum==2)
{
monsTwoAble=ThLaKeyNum.MONS_STAND;
monsTwoSNum=3;
}
}
public void MonsTwoFrame(int monsState)
{
if(!monsTwoLive)
{
monsState=150;
}
switch(monsState)
{
case ThLaKeyNum.MONS_STAND:
monsTwoW=14;
monsTwoH=85;
if(lastmonsTwoState!=monsState)
{
tlms.one_mons_two.setFrameSequence(new int[]{0,1,2,3});
lastmonsTwoState=monsState;
}
else tlms.one_mons_two.nextFrame();
break;
case ThLaKeyNum.MONS_ACT:
if(monsActSPNum==0)
{
monsTwoW=94;
monsTwoH=0;
}
else if(monsActSPNum==1)
{
monsTwoW=95;
monsTwoH=53;
}
else if(monsActSPNum==2)
{
monsTwoW=92;
monsTwoH=108;
}
else
{
monsTwoW=94;
monsTwoH=0;
}
if(lastmonsTwoState!=monsState)
{
tlms.one_mons_two.setFrameSequence(new int[]{4,5,6,7,8,9,10,11,0});
lastmonsTwoState=monsState;
}
else {tlms.one_mons_two.nextFrame();monsTwoANum++;}
break;
case ThLaKeyNum.MONS_ACTES:
if(lastmonsTwoState!=monsState)
{
tlms.one_mons_two.setFrameSequence(new int[]{12});
lastmonsTwoState=monsState;
}
else {tlms.one_mons_two.nextFrame();monsTwoSNum++;}
break;
case 150:
if(lastmonsTwoState!=monsState)
{
tlms.one_mons_two.setFrameSequence(new int[]{13});
lastmonsTwoState=monsState;
}
else {tlms.one_mons_two.nextFrame();monsTwoSNum++;}
break;
default:
break;
}
}
public void SpTwoMgcANum(Graphics g)
{
g.setColor(0xff0000);
g.drawRect(38, 58, 102, 102);
g.drawRect(39, 59, 101, 101);
g.drawRect(40, 60, 100, 100);
g.setColor(0x7fdcdcdc);
g.fillRect(41, 61, 99, 99);
g.setColor(0xffff00);
g.setFont(Font.getFont(Font.FACE_SYSTEM,Font.STYLE_BOLD|Font.STYLE_ITALIC,Font.SIZE_LARGE));
g.drawString("初級治療術(shù)",42,62,Graphics.TOP|Graphics.LEFT);
// g.drawString("復(fù)活術(shù)", 42, 82,Graphics.TOP|Graphics.LEFT);
}
public void SpMgcANum(Graphics g,int aNum)
{
g.drawImage(imgJTr, 100, 28+aNum*56, Graphics.LEFT|Graphics.TOP);
}
public void SpActNum(Graphics g,int aNum)
{
g.drawImage(imgJTl, 58, 40+aNum*76, Graphics.LEFT|Graphics.TOP);
}
public void SpOneActFrame(int spOneAble)
{
if(tlsas.lastspOneState!=spOneAble)
{
tlsas.sp1act.setFrameSequence(new int[]{0,1,2,3,4,5});
tlsas.lastspOneState=spOneAble;
}
else tlsas.sp1act.nextFrame();
}
public void SpOneDieFrame(int spOneAble)
{
if(tlsas.lastspOneState!=spOneAble)
{
tlsas.sp1act.setFrameSequence(new int[]{15,16,17});
tlsas.lastspOneState=spOneAble;
}
else {tlsas.sp1act.nextFrame();spOnedieFNum++;}
}
public void SpTwoActFrame(int spTwoAble)
{
tlsas.spTwoW=120;
tlsas.spTwoH=58;
if(tlsas.lastspTwoState!=spTwoAble)
{
tlsas.sp2act.setFrameSequence(new int[]{0,1,2,3,4,5});
tlsas.lastspTwoState=spTwoAble;
}
else tlsas.sp2act.nextFrame();
}
public void SpTwoMMFrame(int spTwoAble,int MM)
{
tlsas.spTwoW=120;
tlsas.spTwoH=58;
if(MM==0)
{
spTwoMOneW=110;
spTwoMOneH=0;
}
else if(MM==1)
{
spTwoMOneW=113;
spTwoMOneH=58;
}
else if(MM==2)
{
spTwoMOneW=110;
spTwoMOneH=120;
}
if(spTwoMgcOneNum==0)
{
lmanager.append(tlsas.spL);
}
else if(spTwoMgcOneNum==6)
{
lmanager.remove(tlsas.spL);
}
tlsas.spL.setPosition(spTwoMOneW,spTwoMOneH);
if(tlsas.lastspTwoState!=spTwoAble)
{
tlsas.sp2act.setFrameSequence(new int[]{0,14,15,16,17,18,19});
tlsas.spL.setFrameSequence(new int[]{0,1,2});
tlsas.lastspTwoState=spTwoAble;
}
else {
tlsas.sp2act.nextFrame();
spTwoMgcOneNum++;
if(spTwoMgcOneNum%2==0)
{
tlsas.spL.nextFrame();
}
}
}
public void SpTwoDieFrame(int spTwoAble)
{
tlsas.spTwoW=120;
tlsas.spTwoH=58;
if(tlsas.lastspTwoState!=spTwoAble)
{
tlsas.sp2act.setFrameSequence(new int[]{20,21,22});
tlsas.lastspTwoState=spTwoAble;
}
else {tlsas.sp2act.nextFrame();spTwodieFNum++;}
}
public void SpThreeActFrame(int spThreeAble)
{
if(tlsas.lastspThreeState!=spThreeAble)
{
tlsas.sp3act.setFrameSequence(new int[]{0,1,2,3,4,5});
tlsas.lastspThreeState=spThreeAble;
}
else tlsas.sp3act.nextFrame();
}
public void SpThreeDieFrame(int spThreeAble)
{
if(tlsas.lastspThreeState!=spThreeAble)
{
tlsas.sp3act.setFrameSequence(new int[]{18,19,20});
tlsas.lastspThreeState=spThreeAble;
}
else {tlsas.sp3act.nextFrame();spThreedieFNum++;}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -