永发信息网

J2ME中物体移动

答案:2  悬赏:0  手机版
解决时间 2021-05-05 07:59
  • 提问者网友:wodetian
  • 2021-05-04 08:08

相关代码如下

public void paint(Graphics g)
{
g.setColor(20,50,60);
g.fillRect(0, 0, this.getWidth(), this.getHeight());
g.drawImage(img, x, y, g.LEFT|g.TOP);

}

protected void keyPressed(int keyCode)
{int code_1=this.getGameAction(keyCode);
if ((code_1&Canvas.DOWN)!=0&&y<100){y+=5;}
if ((code_1&Canvas.UP)!=0&&y>0){y-=5;}
if ((code_1&Canvas.LEFT)!=0&&x>0){x-=5;}
if ((code_1&Canvas.RIGHT)!=0&&x<100){x+=5;}


repaint();
}
X为横坐标,Y为纵坐标!在模拟器上面运行的时候,我按“上”键,图向右上方移动,按“左”,图向左下方移动,“右”“下”两个键是对的,没有出现其他情况

想了半天,不知道为什么按“上”,就是不直接得往上移动
最佳答案
  • 五星知识达人网友:话散在刀尖上
  • 2021-05-04 09:23

建议采用 switch 语句..:


如下:


public void keyPressed(int keyCode){
switch(this.getGameAction(keyCode)){
case Canvas.UP:
if(y<100)
y-=5;
break;
case Canvas.DOWN:
if(y>100)
y-=5;
break;
case Canvas.LEFT:
if(x>0)
y-=5;
break;
case Canvas.RIGHT:
if(x<100)
x-=5;
break;
}
}

全部回答
  • 1楼网友:有你哪都是故乡
  • 2021-05-04 10:34

你的if后面加个else就行了

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯