Поскольку вы новичок в разработке игр, я бы не советовал писать собственный физический код, если ваша игра относительно сложна.У меня есть две причины сказать это:
- Вы должны знать, как отделить физику от игровой логики, чтобы обеспечить стабильность физики при максимальной гибкости игровой логики.
- Существует множество ловушек, когда речь идет о разработке физического движка с обнаружением столкновений, многие из которых были решены в существующих физических движках.
Если вы все еще хотите написать свою физику, я рекомендую начать с создания приложения-песочницы с хорошим физическим движком.Посмотрите, какие части физического движка выставлены и какие части вы хотели бы раскрыть.Затем изучите физический код, чтобы увидеть, как объекты обновляются в зависимости от скорости, силы тяжести, массы, трения и т. Д. Посмотрите, как обнаруживается столкновение и как двигатель работает с такими вещами, как туннелирование и реакция на столкновение в экстремальных случаях.
Box2D - хорошо написанный физический движок с открытым исходным кодом, включенный в Cocos2D.Вы можете создать игровой шаблон Box2D и сразу перейти к нему.