При прочтении вашего ответа у меня не возникло ощущения, что вы ищете игровые рамки, но более того: как я могу легко смоделировать мяч с ускорением и трением.
Для этого вам не нужна полноценная физическая структура, поскольку это относительно просто сделать:
Сначала создайте таймер, который срабатывает 30 раз в секунду, и при обратном вызове таймера сделайте следующее:
- Рисуем фон лабиринта
- Нарисуйте шар в ballX, ballY (обе переменные с плавающей запятой)
- Добавьте ballSpdX к ballX и добавьте ballSpdY к ballY (скорость)
Теперь проверьте ключи ...
- если клавиша направления оставлена, вычтите небольшое количество ballSpdX
- если клавиша направления является полной, вычтите небольшое количество ballSpdX и ballSpdY
Для столкновения сделайте следующее:
- Сначала переместите мяч в горизонтальном направлении. Затем проверьте столкновения со стенами. Если было обнаружено столкновение, переместите шар обратно в прежнее положение и измените скорость: ballSpdX = -ballSpdX
- Переместить мяч в вертикальном направлении. Затем проверьте столкновения со стенами. Если было обнаружено столкновение, верните шар в прежнее положение и измените скорость: ballSpdY = -ballSpdY
, обрабатывая вертикальное и горизонтальное движение отдельно, столкновение намного легче, так как вы знаете, на какую сторону должен отскочить мяч.
последнее не в последнюю очередь трение, трение просто делает это каждый кадр: ballSpdX * = трение;
Где трение что-то вроде 0,99. Это гарантирует, что скорость мяча становится меньше в каждом кадре из-за трения;
Надеюсь, это помогло