Сегодня, как я и обещал, мы вдохнем в нашу Арканоид жизнь.
Заставим шарик двигаться, сталкиваясь с кирпичами, а кирпичи при этом разбиваться.
В принципе, игровая физика в арканоиде не очень сложна и вполне может быть реализована самостоятельно.
Единственный нетривиальный аспект — отслеживание столкновений.
А ведь именно это «взрослые» физические движки делают лучше всего! Так почему бы не использовать их? Более того, если мы спроектируем Box2D как модуль Мармелад , впоследствии мы сможем использовать его в других приложениях, возможно, требующих более сложной «физики».
Давайте продолжим.
Техника проектирования Box2D как подпроекта полностью аналогична той, которую мы использовали в отношении LibYAML в предыдущем статья .
Единственное отличие состоит в том, что у Box2D гораздо больше исходных файлов.
Поэтому, если вы не хотите повторять рутинное переписывание их названий в mkf-файл, что я уже сделал, вы можете взять готовый модуль прямо из GitHub .
Дистрибутив Box2D взят отсюда .
Итак, добавим Box2D в наш проект: арканоид.mkb
… и пытаемся все это скомпилировать, попутно внося косметические исправления в Box2D в категории «порадуем компилятор»: Столкновение\b2BroadPhase.h#!/usr/bin/env mkb options { module_path=".
/yaml" + module_path=".
/box2d" } subprojects { iwgl yaml + box2d } includepath { .
/source/Main .
/source/Model } files { [Main] (source/Main) Main.cpp Main.h Quads.cpp Quads.h Desktop.cpp Desktop.h IO.cpp IO.h [Model] (source/Model) Bricks.cpp Bricks.h Ball.cpp Ball.h Board.cpp Board.h } assets { (data) level.json }
- for (int32 i = 0; i < m_moveCount; ++i)
+ for (int32 j = 0; j < m_moveCount; ++j)
Теги: #мармелад #Android #iOS #box2d #разработка iOS #разработка игр #разработка Android
-
Криптосистема Макэлиса На Основе Кодов Ldpc
19 Oct, 24 -
Как Eeepc Устанавливали В Школах
19 Oct, 24 -
Пользуетесь Ли Вы Мобильными Услугами?
19 Oct, 24