Я использую пиксели как единицы для аспектов моей игры, такие как движение, но мне сказали, что это плохая практика. Тем не менее, я никогда не видел хорошего объяснения тому, что я должен делать вместо этого. Может ли кто-нибудь дать хорошее объяснение тому, как обрабатывать юниты в моих играх?При кодировании игры, что я должен использовать в качестве единиц?
ответ
Не имеет значения, какие единицы вы используете; они могут быть полностью произвольными. Единственное, что вам нужно сделать, это убедиться, что они не фиксированы на экране пикселей, потому что позже вы узнаете, что хотите изменить масштаб отображаемых вещей. Это нормально, если коэффициент пересчета составляет 1; просто убедитесь, что конверсия существует, так что вы можете изменить ее, если у вас есть причина позже.
(И, как с практической точки зрения, не сделать преобразование точно 1, потому что скрывает ошибки, если вы забыли преобразовать в одном месте.)
Для 3D реалистичных игр, общее устройство «1 метр». Единицы реального мира не имеют значения, но идея состоит в том, чтобы использовать единицу, которая похожа на размер объектов в вашем мире.
Для игр на основе плиток или вокселов общий блок представляет собой ширину одной плитки. Это также позволяет опустить некоторые преобразования, но у вас гораздо меньше шансов на привязку к плиткам, чем пикселам, потому что плитки в любом случае влияют на правила игры.