Перемещение объекта под углом - Java
Формулировка задачи:
Имею окно с панелькой, где paintComponent. По идее, круг в paintComponent должен был двигаться под углом, который задал в коде. Но тот движется либо под 45,90,0 градусов. В чем проблема? Вот код панельки:
public class panelDraw extends JPanel { public int x=0,y=0,dy,dx,clickX,clickY; double angle = (23*Math.PI)/180 ;//Угол в радианах public panelDraw() { Timer update = new Timer(1000 / 60, new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub repaint(); } }); setBounds(0, 0, 444, 265); } public void update() { dx+= 2 * Math.cos(angle);//Определение движения dy+= 2 * Math.sin(angle); } @Override public void paintComponent(Graphics gr) { super.paintComponent(gr); update(); gr.fillOval(dx, dy, 20, 20); } }
Решение задачи: «Перемещение объекта под углом»
textual
Листинг программы
gr.fillOval((int) dx, (int)dy, 20, 20);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д