Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 笛卡尔坐标的应用_Java - Fatal编程技术网

Java 笛卡尔坐标的应用

Java 笛卡尔坐标的应用,java,Java,玩家在0坐标(x=0,y=0)下开始游戏。当用户点击屏幕时,返回鼠标点击的坐标(x1,y1)。现在玩家必须从当前位置A(0.0)移动到B(x1,y1)。但是,例如x1>y1,因此在我的while循环中,y将比x早得到y=(y1-1)的值 我需要做什么才能使x和y同时获得最终值x=(x-1)y=(y1-1) while(cont){ if(x1 > x){ x++; }else if(x1 < x){ x--; } if(

玩家在0坐标(x=0,y=0)下开始游戏。当用户点击屏幕时,返回鼠标点击的坐标(x1,y1)。现在玩家必须从当前位置A(0.0)移动到B(x1,y1)。但是,例如x1>y1,因此在我的while循环中,y将比x早得到y=(y1-1)的值

我需要做什么才能使xy同时获得最终值x=(x-1)y=(y1-1)

while(cont){
    if(x1 > x){
        x++;
    }else if(x1 < x){
        x--;
    }
    if(y1 > y){
        y++;
    }else if(y1 < y){
        y--;
    }
    frame.repaint();
    sleep(); // Thread.sleep(200)
}
while(续){
如果(x1>x){
x++;
}else if(x1y){
y++;
}否则如果(y1
我想你想要的是这样的:(提供你/OP/没有给我们的SSCCE缺少的代码)


我甚至不知道我能在这里解释什么,因为a)再简单不过了,b)我仍然不确定整个问题是关于什么的。

呃。。。不计算。你的问题是“我如何将我的人直线移动到目的地?”这只是y代码的一部分。。。我的问题是“我怎样才能让一个人以扭曲、弯曲的线条到达目的地”。还有为什么我的问题会得到这么多反对票?因为不清楚你在问什么。@user2865835 a)你没有提供SSCCE(),b)你的问题定义充其量是模糊的,c)这个问题没有显示出你有任何真正的研究努力。目前,答案是“要得到x=(x-1)y=(y1-1)的值,使用
x-;
y=y1-1;
…此外,“要让一个家伙在扭曲的曲线中移动”,你应该
给他一些烈性饮料-最好是苦艾酒。
// float x0, y0; // old position
// float x1, y1; // requested position
// float x = x0, y = y0; // current position
// float total_steps; // total steps to split the move between
// float step_x = ( x1 - x0 ) / total_steps;
// float step_y = ( y1 - y0 ) / total_steps;

while( Math.round(x) != x1 ) {
    x += step_x;
    y += step_y;
    frame.repaint();
    sleep(); // Thread.sleep(200)
}