Перемещение объекта под углом - 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);