Я пытаюсь создать «честную» систему обнаружения столкновений для 2d спрайтовой игры, но я нахожу это более сложным, чем я первоначально ожидал.Под «честным» я подразумеваю, что ни одному подвижному объекту не предоставляется приоритет движения перед другим в одном обновлении игры:
например, A -> 50px <- B (если b и a имеют равные скорости, каждый из нихперед столкновением и остановкой следует переместиться на 25 пикселей) </p>
В отличие от жадных алгоритмов, которые могут сначала просто переместить A, а затем отменить движение B, поскольку A уже существует.
2 случая довольно легкосправиться, но у меня возникают проблемы, когда сталкиваются несколько объектов.
например (показаны только скорости).
B
|
|<--C
A--> v
Где объекты A, B и C могут различатьсяразмеры
В принципе, я ищу идеи о том, как подойти к этой проблеме.Мой нынешний подход стал слишком сложным, и я заинтересован в обсуждении некоторых других подходов, о которых я даже не думал.