永发信息网

j2me精灵类

答案:1  悬赏:70  手机版
解决时间 2021-05-23 14:47

这是一个精灵类,请把它们注释,特别是翻转那儿不太懂

import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;


public class sprite extends MIDlet {
private Display dis;
mygame mg=new mygame();
Thread th=new Thread(mg);

public sprite() {
dis=Display.getDisplay(this);
dis.setCurrent(mg);
th.start();
}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}
protected void pauseApp() {
// TODO Auto-generated method stub

}
protected void startApp() throws MIDletStateChangeException {
// TODO Auto-generated method stub

}

class mygame extends GameCanvas implements Runnable
{ private Image imgnpc;
private Image imgbeijing;
private Sprite npc;
private int n1=12;//up
private int n2=0;//down
private int n3=4;//left
private int n4=8;//right
private Graphics gr=this.getGraphics();
public mygame()
{super(true);
try{
imgnpc=Image.createImage("/npc.PNG");
imgbeijing=Image.createImage("/beijing.png");
}catch(Exception e){e.printStackTrace();}
npc=new Sprite(imgnpc,imgnpc.getWidth()/4,imgnpc.getHeight()/4);
npc.setPosition(50,50);
}

public void up()
{
if(n1==12)
{npc.move(0,-5);
npc.setFrame(13);
n1=13;}
else if(n1==13)
{npc.move(0,-5);
npc.setFrame(14);
n1=14;}
else if(n1==14)
{ npc.move(0,-5);
npc.setFrame(15);
n1=15;}
else if(n1==15)
{ npc.move(0,-5);
npc.setFrame(12);
n1=12;
}
}
public void down()
{
if(n2==0)
{ npc.move(0,5);
npc.setFrame(1);
n2=1;}
else if(n2==1)
{npc.move(0,5);
npc.setFrame(2);
n2=2;}
else if(n2==2)
{ npc.move(0,5);
npc.setFrame(3);
n2=3;}
else if(n2==3)
{npc.move(0,5);
npc.setFrame(0);
n2=0;
}
}
public void left()
{
if(n3==4)
{npc.setFrame(5);
npc.move(-5,0);
n3=5;}
else if(n3==5)
{npc.move(-5,0);
npc.setFrame(6);
n3=6;}
else if(n3==6)
{npc.setFrame(7);
npc.move(-5,0);
n3=7;}
else if(n3==7)
{npc.move(-5,0);
npc.setFrame(4);
n3=4;
}
}
public void right()
{
if(n4==8)
{npc.move(5,0);
npc.setFrame(9);
n4=9;}
else if(n4==9)
{npc.move(5,0);
npc.setFrame(10);
n4=10;}
else if(n4==10)
{npc.move(5,0);
npc.setFrame(11);
n4=11;}
else if(n4==11)
{npc.move(5,0);
npc.setFrame(8);
n4=8;
}
}
public void add()
{
gr.setColor(255,255,255);
gr.fillRect(0,0,getWidth(),getHeight());
gr.drawImage(imgbeijing,0,0,Graphics.LEFT|Graphics.TOP);
npc.paint(gr);
}

public void Action()
{int action=getKeyStates();
if((action & UP_PRESSED)!=0)
{ up();
}
if((action & DOWN_PRESSED)!=0)
{down();
}
if((action & LEFT_PRESSED)!=0)
{left();
}
if((action & RIGHT_PRESSED)!=0)
{ right();
}
check();
this.flushGraphics();
}


public void run()
{ while(true)
{add();
Action();
try{
Thread.sleep(66);
}catch(Exception ex){}
}
}

public void check()
{if(npc.getX()<=0)
{npc.move(5,0);}
if(npc.getX()>=getWidth()-npc.getWidth())
{npc.move(-5,0);}
if(npc.getY()<=0)
{npc.move(0,5);}
if(npc.getY()>=getHeight()-npc.getHeight())
{npc.move(0,-5);}
}







}
}

最佳答案
duck_sprite.setTransform(Sprite.TRANS_NONE);在旋转的时候以精灵左上角的点为圆心,以顺时针方向实现旋转,Sprite.TRANS_NONE参数代表旋转的角度
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
世界杯足球比赛角球**哪里找
霖丰饮品店我想知道这个在什么地方
历史博物馆小报,井冈山革命历史博物馆的设计
梦幻西游60男衣防御
生日该去哪过呢?
有没有婚庆用的所有东西,能一起买到的,有得
大家看看空间怎么了
面油进眼睛了
冷轧钢是不锈钢吗,冷轧钢不锈钢铰链什么区别
怎样才能让别人觉得我不像小孩
java和c# 哪一个更好学习呢?
春日迟迟春草绿,春日迟迟,卉木萋萋。仓庚喈
dnf河南4区圣灵坠链卖多少钱
蒸味包点龙锦雅苑店地址有知道的么?有点事想
如何查询专利号,怎么查询专利号
推荐资讯
本地磁盘D系统图标怎么这样了?
新老师和同学作文,怎样适应新环境新老师新同
三羊商店在哪里啊,我有事要去这个地方
黄巢起义的原因,唐代为什么会爆发黄巢起义?
禹王台区开封许记葱花油饼老店(民享街)这个地
必有我师的上句,身在曹营心在汉,下一句是什
大学开学是不是很累?
在讯雷上面看电影为什么不能最大化看?
尉氏县开封方正手机维修我想知道这个在什么地
网吧专线多少钱一年,开网吧网费一年大概是多
综合探究 政治
超市店庆贺词广播稿,餐饮行业8周年庆祝福语怎
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?