Простое руководство по навигационной карте (A simple navigation map tutorial)
Перейти к навигации
Перейти к поиску
Летим в космос! Пространственная игра, в которой вам предстоит исследовать солнечную систему, чтобы предотвратить разрушение Земли. И что может быть лучше для выбора следующего пункта назначения, чем полностью внемасштабная карта Солнечной системы?
Когда все изображения готовы, кодирование довольно простое.
Привет, в этом уроке будет рассмотрена очень простая функция Ren'Py: создание простой навигационной карты.
- Базовые значения
- Изображения
- Карта – это круто, но на ней нужно отметить места, места, на которые пользователь может кликнуть, чтобы что-то сделать. Горячая точка imagemap – прямоугольная область, определяемая координатами её левого верхнего угла, шириной и высотой.
- Затем, в большинстве случаев, вы хотите дать пользователю некоторую визуальную обратную связь, когда он или она нажимает по интерактивной области. Для этого нам нужно создать второе изображение, где все горячие точки находятся в "режиме наведения". Имя в коде: planets-hover.jpg. Обратите внимание, что нам нужны только горячие точки для этого слоя, и нас не волнует остальная часть изображения.
- После того, как мы сделали эти два изображения, собственно можно начать кодирование.
- Код
- Для каждой горячей точки мы вводим функцию с её координатами (по порядку: x-позиция верхнего левого угла, y-позиция верхнего левого угла, ширина, высота) и действие, которое нужно выполнить при клике. Здесь действие состоит в том, чтобы перейти к указанной метке. Обратите внимание, что вам нужно использовать синтаксис `Jump("label")` с кавычками, заглавными буквами и скобками вместо стандартного `jump mercury`.
screen planets: #Подготовка карты изображений imagemap: ground "planets.jpg" hover "planets-hover.png" hotspot (62, 399, 90, 91) clicked Jump("mercury") hotspot (227, 302, 141, 137) clicked Jump("venus") hotspot (405, 218, 164, 118) clicked Jump("earth") hotspot (591, 78, 123, 111) clicked Jump("mars") # Игра начинается здесь label start: "Это учебник по карте изображений." jump solar_system label solar_system: call screen planets #Отображение карты изображений label mercury: "Это Меркурий." jump solar_system label venus: "Это Венера." jump solar_system label earth: "Это Земля." jump solar_system label mars: "Это Марс." jump solar_system
- И это всё. У нас есть функциональная карта.
- Открываемые локации
- Иногда некоторые местоположения недоступны с самого начала или отключаются через некоторое время. Давайте представим, что игра продолжается после того, как земля была разрушена.
- Изображения
- Для начала нам нужно подготовить два новых изображения. Одно полное изображение, где все локации, которые могут быть недоступны в какой-то момент игры, должны быть нарисованы в их недоступном состоянии. Это станет нашим новым изображением по умолчанию. Имя в коде: planets-no-earth.jpg
- Одно частичное изображение, где все местоположения, которые могут быть недоступны, находятся в их доступном состоянии. Имя в коде: earth.png
- Изображение hover остаётся прежним.
- Код
- Чтобы активировать или деактивировать горячую точку, нам просто нужно добавить простое условие в оператор imagemap. Обратите внимание, что мы изменили изображение по умолчанию для того, где земля разрушена (неактивна).
screen planets: #Подготовка карты изображений imagemap: ground "planets-no-earth.jpg" hover "planets-hover.png" idle "earth.png" hotspot (62, 399, 90, 91) clicked Jump("mercury") hotspot (227, 302, 141, 137) clicked Jump("venus") if not earth_destroyed: hotspot (405, 218, 164, 118) clicked Jump("earth") hotspot (591, 78, 123, 111) clicked Jump("mars") init python: earth_destroyed = False # Игра начинается здесь label start: "Это учебник по карте изображений." jump solar_system label solar_system: call screen planets #Displaying the imagemap label mercury: "Это Меркурий." jump solar_system label venus: "Это Венера." jump solar_system label earth: "Это Земля." "Как только вы покинете её, она будет уничтожена!" $ earth_destroyed = True jump solar_system label mars: "Это Марс." jump solar_system
- Остальное - магия Ren'Py.
Источник[править | править код]
Статья "A simple navigation map tutorial" на английском языке.
На главную страницу | Книга рецептов Энциклопедии Ren'Py | Форумы Lemma Soft | Вернуться к началу статьи |