Вопрос о Raylib — как повернуть игрока вокруг оси x?

У меня вопрос по Райлибу.

Мне удалось переместить моего игрока с помощью Key_Down.

Но теперь я хочу изменить направление моего игрока, используя Key_Up, Key_Down, Key_Right и Key_Left.

Я понимаю, что мне нужно переместить моего игрока вокруг оси X. Я пытаюсь сделать это с помощью

DrawModelEx(model, position, (Vector3){ 1.0f, 1.0f, 1.0f }, -90.0f, (Vector3){ 0.025f, 0.025f, 0.025f }, WHITE);

Я уже пытался изменить параметры функции DrawModelEx, но думаю, что это не очень хорошая идея.

Я слышал, что мне нужно использовать Struct Matrix, но я не понимаю, как это работает.

Спасибо за ответ


person Bassem69200    schedule 10.06.2021    source источник


Ответы (1)


Третий параметр DrawModelEx - вектор оси вращения - этот вектор определяет, по какой оси будет вращаться ваш объект. Для вращения по оси X:

DrawModelEx(model, position, (Vector3){ 1.0f, 0.0f, 0.0f }, -90.0f, (Vector3){ 0.025f, 0.025f, 0.025f }, WHITE);

Третий параметр вектора — это ось X, второй — Y, третий — Z. Если вы хотите вращаться, например, вдоль оси Y, измените определение вектора на (Vector3){0.0f, 1.0f, 0.0f} и так далее. P.S. Я не уверен, разрешено ли вращение на отрицательный градус, но вы можете попробовать это.

person RomanKaiser    schedule 14.06.2021