Страниц: [1]
Автор Тема: Виды (Views) в GML  (Прочитано 650 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Vendet
Администратор
Старожил форума
*

Репутация: 151
Offline Offline

Пол: Мужской
Награды:
Тру Админ)
Сообщений: 790


Админ псих :D


WWW
« : Февраль 13, 2010, 14:21:34 »

Виды (Views) в GML

Как Вы должно быть знаете, можно определить до восьми различных видов (отображений) при проектировании комнат. Таким образом Вы можете показывать разные части комнаты в различных местах на экране. Также, Вы можете быть уверены, что специфический объект всегда останется видимым. Вы можете управлять видами из кода. Вы можете сделать представления видимыми или невидимыми, и изменять место или размер представления относительно экрана или позицию представления в комнате (что бывает полезным, в частности, когда Вы не указываете никакого видимого объекта), Вы можете изменить размер горизонтальной и вертикальной границы вокруг видимого объекта, и Вы можете указать, какой объект должен остаться видимым в представлении. Последнее очень важно, когда в течение игры изменяются основные объекты. Например, Вы можете изменять объект главного персонажа, основываясь на его текущем состоянии. К сожалению, сее означает, что объект больше не должен оставаться видимым. Это может быть исправлено одной строкой кода в событии создания всех возможных основных объектов (предполагается, что это должно произойти в первом виде):
{
view_object[0] = object_index;
}
Существуют следующие переменные, которые влияют на вид (отображение). Все, кроме первых двух - массивы с диапазоном от 0 (первый вид) до 7 (последний вид).
view_enabled - Допускается отображение или нет.
view_current* - Рисуемый в настоящее время вид (0-7). Используй это только в событии рисования. Вы можете, например, установить эту переменную, чтобы рисовать некоторые вещи только в одном виде. Переменная не может быть изменена.
view_visible[0..7] - Является ли определенное отображение видимым на экране.
view_left[0..7] - Левая позиция отображения в комнате.
view_top[0..7] - Верхняя позиция отображения в комнате.
view_width[0..7] - Ширина отображения (в пикселах).
view_height[0..7] - Высота отображения (в пикселах).
view_x[0..7] - X-позиция отображения на экране.
view_y[0..7] - Y-позиция отображения на экране.
view_hborder[0..7] - Размер горизонтальной границы вокруг видимого объекта (в пикселах).
view_vborder[0..7] - Размер вертикальной границы вокруг видимого объекта (в пикселах).
view_hspeed[0..7] - Максимальная горизонтальная скорость отображения.
view_vspeed[0..7] - Максимальная вертикальная скорость отображения.
view_object[0..7] - Объект, чей образец должен остаться видимым при отображении.
Обратите внимание, что размер изображения на экране определяется на основании видимых представлениях в начале комнаты. Если Вы изменяете виды в течение игры, они больше не смогут быть адаптированы на экране. Размер экрана не адаптируется автоматически. Поэтому, если Вам понадобится это, Вы должны будете сделать сее самостоятельно, используя следующие переменные:
screen_width - Ширина изображения на экране, то есть та область, в которой мы рисуем. Когда нет никаких видов, она будет тем же самым что и room_width.
screen_height - Высота изображения на экране.
Записан

1. Помог!? +1 в репу)
2. Новичок!? Читай правила ->>
- «Единственный путь стать умнее - играть с более умным противником», - основы шахмат, 1883 г.

Pahan-OK
Посетитель
*

Репутация: 9
Offline Offline

Пол: Мужской
Сообщений: 68



WWW
« Ответ #1 : Июнь 30, 2010, 17:14:24 »

view_current* - Рисуемый в настоящее время вид (0-7). Используй это только в событии рисования. Вы можете, например, установить эту переменную, чтобы рисовать некоторые вещи только в одном виде. Переменная не может быть изменена.
а как view_current пользоваться
Записан


DeatHSoul
GM Pro user
Участник
*

Репутация: 41
Offline Offline

Пол: Мужской
Сообщений: 103


GML программист


« Ответ #2 : Июнь 30, 2010, 17:27:00 »

К примеру:
Код:
if view_current=0
{
 //рисуем графику для первого вида (0)
}

if view_current=1
{
 //рисуем графику для второго вида (1)
}
Записан

Ладно, сам всё сделаю, сам всё сделаю... © Тупик
Истина всегда и везде есть истина для кого-то и когда-то. © Атараксия

Pahan-OK
Посетитель
*

Репутация: 9
Offline Offline

Пол: Мужской
Сообщений: 68



WWW
« Ответ #3 : Июнь 30, 2010, 17:32:15 »

Спасибо. +1 тебе в репу
Записан


Страниц: [1]
Печать
Перейти в: