如何使对象跟随鼠标(java)

如何使对象跟随鼠标(java),java,Java,我需要帮助,让这个程序中的圆不断跟随鼠标的x和y坐标。它确实在某些点上跟随鼠标。我想这是因为我在程序中使用了两个坐标之间的斜率。这个问题的一个例子是,如果我在鼠标x位置的右边,它将朝着完全相反的方向移动,并远离鼠标。有人能给我一些指导吗 ObjectMove类 import java.awt.*; import hsa.LASSConsole; public class ObjectMove { static LASSConsole c; // The output

我需要帮助,让这个程序中的圆不断跟随鼠标的x和y坐标。它确实在某些点上跟随鼠标。我想这是因为我在程序中使用了两个坐标之间的斜率。这个问题的一个例子是,如果我在鼠标x位置的右边,它将朝着完全相反的方向移动,并远离鼠标。有人能给我一些指导吗

ObjectMove

import java.awt.*;
import hsa.LASSConsole;

public class ObjectMove
{
    static LASSConsole c;           // The output console

    public static void main (String[] args) throws java.lang.InterruptedException
    {
        c = new LASSConsole ();

        double xcoord = c.maxx () / 2;
        double ycoord = c.maxy () / 2;
        double mouseX;
        double mouseY;
        double vely;
        double velx;
        double m;
        int d = 20;

        while (true)
        {
            mouseX = c.GetMouseX ();
            mouseY = c.GetMouseY ();

            m = ((mouseY - ycoord) / (mouseX - xcoord));

            if (((mouseX - xcoord) / -1) == (mouseX - xcoord) / (mouseX - xcoord))
            {
                velx = -1;
            }
            else
            {
                velx = 1;
            }

            if (((mouseY - ycoord) / -1) == (mouseY - ycoord) / (mouseY - ycoord) && velx == -1)
            {
                vely = -m;
            }
            else if ((((mouseY - ycoord) / -1) == (mouseY - ycoord) / (mouseY - ycoord)) && velx == 1)
            {
                vely = m;
            }
            else if ((((mouseY - ycoord) / -1) != (mouseY - ycoord) / (mouseY - ycoord)) && velx == -1)
            {
                vely = -m;
            }
            else if (mouseX - xcoord == 0)
            {
                if (mouseY > ycoord)
                {
                    vely = 1;
                    velx = 0;
                }
                else
                {
                    vely = -1;
                }
            }
            else
            {
                vely = m;

            }
            c.setColor (Color.black);
            xcoord = xcoord - velx;
            ycoord = ycoord - vely;
            c.fillOval ((int) xcoord, (int) ycoord, (int) d, (int) d);
            Thread.sleep (100);
            c.setColor (Color.white);
            c.fillOval ((int) xcoord, (int) ycoord, (int) d, (int) d);
        }



    } // main method
} // ObjectMove class
`

我不确定我是否完全理解了你的要求,但如果你需要鼠标的精确坐标,并将它们应用到圆对象的x和y上,这里有一个很好的答案:问题是为了让对象跟随我的鼠标,类似于Agar.io,它需要使用两组坐标。我在这方面遇到了麻烦。我的程序已经确定了坐标。