Перемещение объекта под углом - 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д