A-tit indd



Download 3,35 Mb.
Pdf ko'rish
bet198/313
Sana05.06.2022
Hajmi3,35 Mb.
#638392
1   ...   194   195   196   197   198   199   200   201   ...   313
Bog'liq
Nistrem R. Patterni programmirovaniya igr-1

Глава 14. Компонент (Component)
Глава 15. Очередь событий (Event Queue)
Глава 16. Локатор служб (Service Locator)
Для создания успешно работающей программы доста-
точно знать основы языка. Но вот для кода, в который 
легко внести коррективы в случае 
изменения
требова-
ний, основ уже мало. Крайне редко нам доступна рос-
кошь знать точный набор всей необходимой функцио-
нальности до запуска редактора.
Мощный инструмент, позволяющий упростить про-
цесс внесения изменений, —
уменьшение связанности

Когда мы называем две части кода «расцепленными», 
то имеем в виду, что внесение изменений в одну часть 
не требует изменений в другой. И чем меньше частей, 
которые приходится затрагивать при добавлении в игру 
новой функциональности, тем вам проще.
Паттерн Компонент (Component) (с. 272) уменьшает 
связанность различных областей игры с помощью еди-
ной сущности, включающей все аспекты. Паттерн Оче-
редь событий (Event Queue) (с. 296) уменьшает связан-
ность отдельных объектов, взаимодействующих друг 
с другом как статически, так и 
во время выполнения

Паттерн Локатор служб (Service Locator) (с. 321) позво-
ляет получить доступ к функции без привязки к предо-
ставляющему ее коду.
Часть V


272
Компонент (Component) — 
Паттерны программирования игр
Компонент 
(Component)
«Позволяет одной сущности охватывать несколько 
областей без связывания этих областей друг 
с другом».
Мотивация
Допустим, мы создаем платформер. Приключениями 
итальянских сантехников Марио и Луиджи уже никого 
не удивить, поэтому мы возьмем датского пекаря Бьйор-
на. Логично предположить, что у нас будет представля-
ющий дружелюбного кондитера класс, который станет 
содержать вообще все составляюшие игры.
Поскольку игрок контролирует действия главного ге-
роя, нам понадобится считывать пользовательский ввод 
и превращать его в движение. И, конечно, герою надо 
взаимодействовать с уровнем, так что тут мы коснемся 
физического движка и обработки взаимодействия. Когда 
мы с этим покончим, нам потребуется отобразить резуль-
тат на экране, то есть время для анимации и рендеринга. 
Весьма вероятно, нам захочется использовать еще и звук.
Подождите минутку. Вам не кажется, что все выхо-
дит из-под контроля? Принципы архитектуры программ-
ного обеспечения говорят о необходимости изолировать 
друг от друга разные области игры. Если мы пишем тексто-
вый редактор, то код, ответственный за печать докумен-
тов, никоим образом не должен касаться кода, который 
отвечает за их загрузку и сохранение. У игры другие об-
ласти, но данное правило все равно важно соблюдать.
Системы ИИ, физики, рендеринга, звука и любые 
другие системы не должны знать о существовании друг 
Глава 14
Именно такие потря-
сающие идеи стали при-
чиной того, что я про-
граммирую, а не создаю 
сюжет для игр.



Download 3,35 Mb.

Do'stlaringiz bilan baham:
1   ...   194   195   196   197   198   199   200   201   ...   313




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish