Мой вращающийся прямоугольный класс действительно медленный?
Привет, разработчики Monogame/XNA,
Как вы все, возможно, хорошо знаете, нет никакой функции поворота для прямоугольника или ограничивающего прямоугольника. Я просмотрел тонны статей, в которых говорилось, что вам лучше сделать свой собственный.
Поэтому я делаю это прямо сейчас. Я создал свой собственный класс со всеми свойствами обычного прямоугольника. Однако одна проблема заключается в том, что существует много проблем с производительностью вращения самого прямоугольника.
Я хотел бы поделиться с вами кодом, но это слишком много, чтобы просто поместить его в это поле вопросов. Итак, я сделал сайт Pastebin[Сайт Pastebin ссылку].
Я никогда не создавал свой собственный класс для обнаружения столкновений, поэтому надеюсь, что этот код не слишком плох и достаточно ясен для чтения другими. Я не могу хорошо отладить его, чтобы увидеть, работает ли он вообще из-за массового запаздывания, которое он, кажется, создает.
Я смущен тем, насколько медленным он кажется на "RotatePointAroundOrigin" (100 мс за один раз.)
Есть только один прямоугольник, который на самом деле обновляется каждый тик, который является игроком, потому что мне придется изменить X и Y соответственно, когда игрок движется и проверяется столкновение, и даже тогда он не будет менять его каждый раз, когда я настраиваю X или Y, он вызовет логическое значение, которое затем, в свою очередь, обновит точки.
Пожалуйста, помогите мне! Я не хочу использовать физический движок, такой как Farseer или Box2D, потому что моя игра слишком проста для этого.
Что я уже пробовал:
Попробовал создать класс, выглядит хорошо, просто кажется, что действительно отстает.
Member 11841791
Кто-нибудь? :(