Предполагая, что вы абсолютный новичок в программировании, и для того, чтобы основать мой пример на чем-то, что вы, возможно, знаете, при написании консольного приложения, в котором есть меню, в котором вы хотите, чтобы пользователь выбирал среди доступных опций, что вы будете делать в первую очередь?
Если вы задумывались о создании своего меню, у вас есть пункт, но что если после того, как пользователь нажал клавишу, которая не является частью доступной опции,
- выйдет ли ваше приложение или
- Будет ли оно продолжаться до тех пор, пока пользователь не нажмет клавишу «Выход»?
Моя ставка будет №2, приложение будет продолжаться до тех пор, пока пользователь явно не нажмет клавишу для выхода из консольного приложения.
Игра как-то похожа! Когда вы хотите выйти из игры? Когда пользователь выбирает, верно? Следовательно, действие или меню игры должны длиться до тех пор, пока пользователь не захочет выйти. Затем вам нужно будет создать цикл, который говорит программе продолжать до тех пор, пока не будет нажата эта самая клавиша выхода.
Вы только что познакомились с игровым циклом. Игра - это просто еще одна программа, которая запускается до тех пор, пока пользователь явно не закроет ее.
Находясь в игровом цикле, когда вы играете в игру, ходы - это изображения, нарисованные на экране в определенных координатах. Когда пользователь / игрок нажимает клавишу направления, такую как[Left]
, вы заставляете ваше изображение обновлять свои координаты, уменьшая его координату X, чтобы создать впечатление движения в направлении влево. Вы должны получить эти входные данные для того, чтобы узнать, какое действие игрок хочет, чтобы его персонаж / корабль сделал дальше. Затем цикл игры продолжает цикл до тех пор, пока вы не сможете получить другое желаемое действие от игрока, пока игра не будет завершена.
Боюсь, этот ответ станет достаточно длинным, поэтому позвольте мне задать вам два других вопроса, которые могут вас заинтересовать, я надеюсь.
- С чего начать писать игры, какие-либо учебные пособия или тому подобное?
- Перемещение моего спрайта в XNA с использованием классов .
Эта третья ссылка не о том, как начать писать игры, а о том, как заставить спрайт двигаться на экране. Поскольку вы также спрашивали о том, как заставить графику двигаться на экране, я подумал, что это может вас заинтересовать.
Надеюсь, это поможет! знак равно
Что вам нужно понять, так это матрицы. Они лежат в основе игр. Как только вы поймете силу матриц, вы увидите, как игры сводятся к простой математике.
Вы занимаете позицию вершины в игровом пространстве. Вы проецируете его с помощью матрицы на экран (найдите его координаты на экране). Вы интерполируете несколько пикселей между ним и его соседними вершинами, и все готово. Это, очевидно, чрезвычайно большое упрощение, но основы растеризации совсем не сложны, когда вы начинаете работать с матрицами.
источник