怎么样用鼠标移动小球,看清楚是移动,就像联盟的英雄一样,鼠标点一个地方英雄就会慢慢的走向那个地方!

我写的代码如下:求各位更正importjava.awt.*;importjava.awt.event.KeyEvent;importjava.awt.event.KeyL... 我写的代码如下:求各位更正
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import javax.swing.event.MouseInputListener;
public class MyBoll {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Frame f = new Frame();

f.setBackground(Color.black);

f.setSize(300,400);

f.setLocationRelativeTo(f);

MyPanel mp = new MyPanel();
f.add(mp);

f.addMouseListener(mp);
mp.addMouseListener(mp);

Thread t = new Thread ();
t.start();
f.show();
}
}
class MyPanel extends Panel implements MouseInputListener{
int x = 30;
int y = 30;
int f = 0;
int x1 = x+15 , y1 = y+15;
public void paint(Graphics g)
{
g.clearRect(0, 0, 400, 500);
g.setColor(Color.white);
g.drawLine(x+15, y+15, x1, y1);
g.fillOval(x, y, 30, 30);

}
public void mouseClicked(MouseEvent arg0) {
x1 = arg0.getX();
y1 = arg0.getY();
repaint();
}

public void mouseDragged(MouseEvent arg0) //鼠标拖动
{
// TODO Auto-generated method stub
x = arg0.getX();
y = arg0.getY();
repaint();
}
@Override
public void mouseMoved(MouseEvent arg0) //鼠标移动
{
// TODO Auto-generated method stub

}
public void 小球移动路线() throws Exception{
while(true)
{
if(x<x1)
{
x ++;
}
if(y<y1)
{
y ++;
}
Thread.sleep(1000/30);
repaint();
}

}
}
本人是java的新手,所以在跟正我的代码前加上注释和解释,方便我看懂
展开
 我来答
302652034_bai
2014-02-23 · TA获得超过4145个赞
知道大有可为答主
回答量:2206
采纳率:66%
帮助的人:1533万
展开全部
假设,moveX,moveY是小球的当前两个坐标的移动距离。

但小球不动的时候,他们等于0.

小球当前的坐标为x,y,速度为speed。

鼠标监听事件时,获取鼠标点击的位置mousX,mousY。

将moveX=(X-mousX)/speed,获取点击之后小球往目标点靠近时的X向移动距离。
将moveY=(Y-mousY)/speed。
更多追问追答
追问

晕了我按照你的想法 不知道,是我弄错了,还是就是那样的,点一下他不是缓慢的移动,而是一下就蹦的那

你看看我是啥地方没写对, 我想要的是小球就和人走路一样的移动到鼠标点击的位置,不是一下就蹦的鼠标的位置

追答
filloval这个函数的第一个前面两个参数不应该是代表鼠标坐标的mousx,mousy.而是代表小球坐标的x.y.
线程里不应该是设置movex,movey.而是设置x=x+movex.y=y+movey。

最后,鼠标点击才是设置movex=x-mousx.

注意当小球移动到指定位置将movex归零
匿名用户
2014-02-23
展开全部
没看懂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-02-23
展开全部
我不知道怎么样用鼠标移动小球
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式