Вопросы с тегом «oop»

Объектно-ориентированное программирование. Парадигма, использующая объекты (экземпляры класса, состоящего из свойств и методов) для разработки игр. Методы могут включать абстракцию данных, инкапсуляцию, обмен сообщениями, модульность, полиморфизм и наследование.

256
Когда я должен использовать фиксированный или переменный шаг по времени?

Должен ли игровой цикл основываться на фиксированных или переменных временных шагах? Всегда ли кто-то лучше или правильный выбор зависит от игры? Переменный шаг по времени Физическим обновлениям передается аргумент «истекшее время с момента последнего обновления» и, следовательно, они зависят от...

130
Как мне написать основной игровой цикл? [закрыто]

Как мне написать основной игровой цикл? Какие вещи вы должны делать в игровом цикле, и какие вещи вы не должны делать в игровом цикле? Я написал много из них, но я никогда не читал об игровых циклах. Я уверен, что мог бы значительно улучшить их, но я не уверен,...

74
Какой смысл обновлять независимый рендеринг в игровом цикле?

Есть десятки статей, книг и дискуссий по игровым циклам. Тем не менее, я довольно часто сталкиваюсь с чем-то вроде этого: while(running) { processInput(); while(isTimeForUpdate) { update(); } render(); } Что в основном беспокоит меня об этом подходе, так это «независимый от обновления» рендеринг,...

41
Должны ли актеры в игре быть ответственными за рисование себя?

Я очень новичок в разработке игр, но не в программировании. Я (снова) играю с игрой типа Понг, используя canvasэлемент JavaScript . Я создал Paddleобъект, который имеет следующие свойства ... width height x y colour У меня также есть Pongобъект, который имеет такие свойства, как ... width height...

39
Когда нескольким классам требуется доступ к одним и тем же данным, где эти данные должны быть объявлены?

У меня есть базовая 2D игра Tower Defense на C ++. Каждая карта - это отдельный класс, который наследуется от GameState. Карта делегирует логику и код рисования каждому объекту в игре и устанавливает такие данные, как путь к карте. В псевдокоде логический раздел может выглядеть примерно так:...

36
Следует ли мне избегать использования наследования объектов при разработке игры?

Я предпочитаю функции ООП при разработке игр с Unity. Я обычно создаю базовый класс (в основном абстрагированный) и использую наследование объектов, чтобы использовать одни и те же функциональные возможности для других объектов. Однако недавно я услышал от кого-то, что следует избегать...

32
Что такое стандартный игровой цикл C # / Windows Forms?

Как следует структурировать основной цикл игры при написании игры на C #, в которой используются обычные Windows Forms и некоторые графические оболочки API, такие как SlimDX или OpenTK ? Каноническое приложение Windows Forms имеет точку входа, которая выглядит как public static void Main () {...

31
Хороший способ построить игровой цикл в OpenGL

В настоящее время я начинаю изучать OpenGL в школе, и на днях я начал делать простую игру (самостоятельно, а не для школы). Я использую freeglut и собираю его на C, поэтому для своего игрового цикла я действительно использовал переданную мне функцию, glutIdleFuncчтобы обновить все чертежи и физику...

26
Как команды предотвращают перезапись работы в исходных файлах? [закрыто]

Закрыто. Этот вопрос не по теме . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки игр для Stack Exchange. Закрыто 4 года назад . Мне пришла в голову возможность, что в то время, как, например, над игровым движком...

24
В чем смысл «дельты» в этом коде? Отражает ли это стандартную вещь в игровом устройстве?

Я очень мало знаю о программировании игр, но хотел бы узнать больше. Я пытаюсь понять код для этой игры. Я пытаюсь понять, почему код передает «delta» в Shipcontrols.js, который меняет направление движения корабля на основе пользовательского ввода. В основном игра рассчитывает «дельту» каждого...

20
Действия игры, которые требуют нескольких кадров для завершения

Я никогда прежде не занимался программированием игр, довольно простой вопрос. Представьте, что я создаю игру «Тетрис», где основной цикл выглядит примерно так. for every frame handle input if it's time to make the current block move down a row if we can move the block move the block else remove all...

19
Дизайн пошаговой игры, в которой действия имеют побочные эффекты

Я пишу компьютерную версию игры Dominion . Это пошаговая карточная игра, в которой карты действий, карты сокровищ и карты победных очков накапливаются в личной колоде игрока. У меня довольно хорошо развита структура классов, и я начинаю разрабатывать игровую логику. Я использую Python, и я могу...

19
Есть ли какой-нибудь вред в том, что основной цикл игры неуправляем?

Мне было интересно, есть ли какой-нибудь возможный вред, когда мой игровой цикл работает так быстро, как позволяет система? В настоящее время у меня есть цикл, который, измеряя прошедшее время в наносекундах, без проблем запускает игровую логику и логику рендеринга на предопределенных скоростях....

19
Деревья поведения :: Действия, которые занимают больше времени, чем один тик

Из того, что я понимаю в Деревьях Поведения, каждое Поведение должно быть коротким, ориентированным на цель Действие, которое может быть выполнено в несколько итераций. Например, ниже приведено изображение Дерева Поведения: Теперь давайте предположим, что поведение Drive To Enemy занимает больше,...

19
Где должна быть размещена логика обнаружения столкновений?

Я занимаюсь разработкой небольшого 2D игрового движка. У персонажей есть метод рисования, который в настоящее время делает следующее: Рассчитать новую позицию персонажа по скорости и т. Д. Обновить ячейку сетки столкновений ** Нарисуйте персонажа на новой позиции ** Я создал сетку столкновений,...

17
Почему мой спрайтер движется быстрее, когда я двигаю мышь?

Я пытаюсь разработать простую игру, созданную с помощью Pygame (библиотека Python). У меня есть spriteобъект, playerи я перемещаю его с помощью клавиш со стрелками. Если я не двигаю мышь, спрайт движется нормально, но когда я двигаю мышь, спрайт движется быстрее (например, х2 или х3). playerОбъект...

16
Конечный автомат в C ++

Итак, я много читал об использовании FSM для управления состоянием игры, о том, что такое FSM, и об использовании стека или набора состояний для его создания. Я прошел через все это. Но я застрял в написании реальной, хорошо разработанной реализации FSM для этой цели. В частности, как правильно...

16
Как правильно использовать синглтоны в программировании на С ++?

Я знаю, что одиночные игры плохие, мой старый игровой движок использовал одноэлементный объект «Game», который обрабатывает все, начиная от хранения всех данных и заканчивая реальным игровым циклом. Сейчас я делаю новый. Проблема в том, чтобы нарисовать что-то в SFML, который вы используете...

16
Как мне лучше всего удалить сущность из моего игрового цикла, когда она мертва?

Итак, у меня есть большой список всех моих сущностей, которые я перебираю и обновляю. В AS3 я могу сохранить это как массив (динамическая длина, нетипизированный), вектор (типизированный) или связанный список (не собственный). В настоящее время я использую Array, но я планирую изменить на Vector...