Game Programming Patterns / Паттерны программирования в играх: 2.3. Update Method

← →
Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

Все что он (Game Loop) знает - это то, что у них есть метод update().

Vladislav86 05.05.14 в 09:32

0

Так мы отделим объекты друг от друга и от игрового цикла.

MrSmith33 05.05.14 в 16:15

0

На каждом фрейме (кадре), главный игровой цикл проходит по коллекции объектов и вызывает для каждого метод update().

Vladislav86 05.05.14 в 09:34

0

И каждый объект выполняет свои действия, которые должны быть выполнены за один фрейм.

Vladislav86 05.05.14 в 09:37

0

Вызов этого метода для каждого объекта на каждом фрейме обеспечивает их одновременные действия.

Vladislav86 05.05.14 в 09:45

0

Конечно, здесь можно придираться к словам и сказать, что все происходит не одновременно.

fregate 26.09.14 в 04:20

0

Пока один объект обновляется, все остальные ждут.

Vladislav86 05.05.14 в 09:49

0

Давайте рассмотрим это подробнее.

Vladislav86 05.05.14 в 09:50

0

Главный игровой цикл содержит коллекцию динамических объектов, так что добавлять и удалять их в уровень также просто как и добавлять и удалять объекты в коллекцию.

Vladislav86 05.05.14 в 09:56

0
+1

И после этого вы можете через, например, какой-нибудь файл с данными, заполнить уровень именно так, как хочет этого наш дизайнер уровней.

fregate 26.09.14 в 04:22

0

Паттерн

adm244 11.03.15 в 01:36

0

Ировой мир обслуживает коллекцию объектов.

fregate 26.09.14 в 04:23

0

Каждый объект имплементирует метод "update", который обновляет состояние для данного фрейма.

fregate 26.09.14 в 04:24

0

Каждый фрейм игра обновляет каждый объект в коллекции.

fregate 26.09.14 в 04:26

0

Когда использовать

fregate 26.09.14 в 04:27

0

Большое количество игр с объектами, которые двигаются и с которыми игроку прходится взаимодействовать так или иначе используют данный паттерн.

fregate 26.09.14 в 04:30

0

Если в игре есть космические пехотинцы, драконы, марсиане, привидения - это прекрасный повод использовать данный паттерн.

fregate 26.09.14 в 04:31

0

Но если в игре движущихся объектов еще меньше, чем движений у игрока и игра больше похожа на шахматы - это не совсем подходящее решение.

fregate 26.09.14 в 04:33

0

В таких играх вам не надо одновременно обновлять состояние всех объектов - возможно, что пешкам нет необходимости каждый кадр изменяться.

fregate 26.09.14 в 04:36

0

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

fregate 26.09.14 в 04:39

0

Тогда такой паттерн может вам в этом помочь.

fregate 26.09.14 в 04:39

0

Update метод хорошо применим когда

fregate 26.09.14 в 04:40

0

Ваша игра содержит какое-то число объектов или систем, которые необходимо одновременно обсчитывать.

fregate 26.09.14 в 04:41

0

Поведение отдельно взятого объекта слабо зависит от остальных.

fregate 26.09.14 в 04:41

0

Их поведение изменяется во времени.

fregate 26.09.14 в 04:43

0

Помните

fregate 26.09.14 в 04:43

0

Этот способ очень простой и в нем почти нет подводных камней.

fregate 26.09.14 в 04:44

0
Минутку...

← Предыдущая страница

Следующая страница →