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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5