Плохой урок.
- Логика программы разбросана куда как. Почему шарик и стрелка сами себе назначают координаты, это должен делать тот, кто их добавил на сцену.
- Управление в коде должно идти сверху в низ, от главного класса Main, у вас, каждый объект управляет сам собой.
- Класс Main следовало наследовать от Sprite.
- Вынос части расчётов в отдельную функцию setSize не обоснован и бессмыслен.
- Никаких объяснений в итоге нет, почему например, результат функций Math.atan2 умножается на 180/PI?
- Физики нет.
Может это жестоко, но это правда. Автору самому ещё стоит подучиться, прежде чем учить других.