>как мне сделать так, чтобы пуля постоянно летела в нужную сторону
Рассмотрим на реальном физическом примере: Почему пуля вылетает из дула ружья? Потому что ее выталкивает воспламенившийся порох, или другими словами он придает пуле своеобразный импульс.
Для применения импульсов в Box2D существует специальная функция ApplyLinearImpulse()
Импульс придаст пуле очень высокую скорость, и она полетит в указанном направлении.
Однако, если вы хотите чтобы пуля не останавливалась и летела с постоянной скоростью, то просто задавайте ей нужную скорость с помощью функциии SetLinearVelocity() каждый игровой кадр, что я делать крайне не рекомендую (нарушает законы физики :ь )
LiptonOlolo: Данные у клиента последовательно собираются в биты, комплектуются в пакет и отправляются по указанному адресу. Сервер же распаковывает пакет в обратном порядке.
В целом, со стороны клиента на создание около 120 экземпляров много памяти не требуется, но вот со стороны сервера это проблема. Сервер обязан получить большое количество данных, обработать их и отослать ответ.
Обычно для реализации протоколов TCP/UDP используются готовые библиотеки, которые сами умеют паковать, отправлять, получать и обрабатывать соединения.
Евгений Шатунов: Про bitset слышал, но немного неудобно, на мой взгляд. Приходится следить какие биты уже заняты другими компонентами, плюс читаемость снижается (мне кажется)
Евгений Шатунов: Вдруг задумался над Вашим комментарием, то что сложность алгоритма равна M*N. Это крайне непрактично, если данная операция будет повторяться каждый кадр.
Думаю что лучше создать некую "чек-сумму" для каждой сущности, которая будет меняться при добавлении/удалении компонентов. Так будет проще и быстрее.
Евгений Шатунов: К несчастью, не могу разобрать ваш код и идею, потому что просто не имею опыта. Вы пробовали тестировать его? Он работает? Задумываюсь оставить эту идею с подборкой нескольких компонентов методом шаблонов.
Cложно, постараюсь разобраться и подогнать под свой код.. затем отпишусь :)
Пока что вопросы вызывает сам предикат, нужно его более подробнее изучить..
error: need 'typename' before 'storage::storagestruct' because 'storage' is a dependent scope
template storage::storagestruct& storage::getfirst()
Здесь найдете тому причину: stackoverflow.com/questions/610245/where-and-why-d... (Начинать с заголовка The "typename" keyword)