我的目标是在拖动鼠标时绘制点。 问题是,当鼠标移动得非常快时,点之间的距离变得很大,而不是小的所需距离,这是无法识别的。
缩短的代码是:
public void update(Graphics g){
paint(g);
}
public void paint(Graphics g){
for(i = 0; i <= height; i++){
for(j = 0; j <= width; j++){
if(virWorld[i][j] == 1) bufferGraphics.fillRect(i,j,1,1);
}
}
g.drawImage(offscreen,0,0,this);
}
public void mouseDragged(MouseEvent evt){
curX = evt.getX();
curY = evt.getY();
virWorld[curX][curY] = 1;
}
public void run(){
while(true){
repaint();
try{
Thread.wait(10);
}
catch(Exception exception){
System.out.println(exception);
}
}
}
感谢您的帮助, 罗宾
答案 0 :(得分:2)
所以它确实如此。您需要在前一个点和当前点之间进行插值,即在两点之间画一条线。此外,您可能需要在执行此操作时设置较粗的笔划
答案 1 :(得分:1)
在远点之间划一条线,或者如果你喜欢冒险,可以尝试曲线。