我需要让图像绕线飞行,我现在只停留在一部分上。
为了计算点,需要使用毕达哥拉斯来计算高度(点B)。
现在,当使用sqrt函数时,出现我无法将double转换为int的错误。
这是我的代码:
package vogel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;
public class vogel extends Component {
private int x;
private int r;
private int b;
BufferedImage img;
public vogel() {
try {
img = ImageIO.read(new File("F:/JAVA/workspace/School/src/vogel/vogel.png"));
} catch (IOException e) {
}
r = 6;
}
@Override
public void paint(Graphics g) {
for(int i = -r; i <= r; i++) {
x = i;
b = Math.sqrt(r^2 - x^2);
g.drawImage(img, x, b, this);
}
}
public static void main(String[] args) {
JFrame f = new JFrame("Boot");
f.setSize(1000,1000);
f.add(new vogel());
f.setVisible(true);
for (int number = 1; number <= 1500000; number++) {
f.repaint();
try {
Thread.sleep(50);
} catch (InterruptedException e) {}
}
}
}
希望你们中的一个能帮助我
最佳答案
转换值。例如。
b = (int)Math.sqrt(r^2 - x^2);
关于java - 在Java中让图像绕圈飞行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7752167/