需要帮助在 JAVA 中跟踪球的位置
Posted
技术标签:
【中文标题】需要帮助在 JAVA 中跟踪球的位置【英文标题】:Need help to track ball position in JAVA 【发布时间】:2020-07-18 10:29:34 【问题描述】:我正在使用 J2ME Loader 在 Netbeans 中创建一个弹跳球。
我已经完成了弹跳球的部分,但很难跟踪球的位置。
我在网上搜索过,但那里没有太多信息。谁能给点建议?
代码如下:
package mobileapplication8;
import java.util.Timer;
import java.util.TimerTask;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Graphics;
import javax.microedition.midlet.*;
public class Midlet extends MIDlet
Display d;
MyCanvas m;
Timer t;
MyTask mt;
int x=10,y=10;
int xiner=1,yiner=1;
Command start, stop;
Command c;
public void startApp()
d=Display.getDisplay(this);
m= new MyCanvas();
d.setCurrent(m);
class MyTask extends TimerTask
public void run()
m.repaint();
class MyCanvas extends Canvas implements CommandListener
MyCanvas()
start=new Command("start", Command.SCREEN,1);
addCommand(start);
stop=new Command("stop", Command.SCREEN,2);
addCommand(stop);
setCommandListener(this);
public void paint(Graphics g)
g.setColor(255,255,255);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(255,0,0);
x+=20*xiner;
y+=50*yiner;
if(x>getWidth()-20 || x<0 )
xiner*=-1;
if(y>getHeight()-50||y<0)
yiner*=-1;
g.fillArc(x,y, 20,20,0,360);
public void commandAction(Command c, Displayable d)
// throw new UnsupportedOperationException("Not supported yet.");
if(c==start)
t=new Timer();
mt=new MyTask();
t.schedule(mt,1000,500);
else if(c==stop)
t.cancel();
mt.cancel();
public void pauseApp()
public void destroyApp(boolean unconditional)
如您所见,输出仅显示球弹跳,如下图所示
这是我想要的输出,即每次移动时获取球的位置,但未能实现,见下图
【问题讨论】:
【参考方案1】:在paint方法中添加以下代码
String s = "(" + x + "," + y + ")";
g.drawString(s, 0, 0, Graphics.TOP | Graphics.LEFT);
https://docs.oracle.com/javame/config/cldc/ref-impl/midp2.0/jsr118/javax/microedition/lcdui/Graphics.html#drawString(java.lang.String,%20int,%20int,%20int)
【讨论】:
以上是关于需要帮助在 JAVA 中跟踪球的位置的主要内容,如果未能解决你的问题,请参考以下文章