Ресурсы
В Game Maker Вы можете определить различные типы
ресурсов, например: спрайты, звуки, шрифты, объекты и т.п. В этой главе Вы
обнаружите множество функций, которые предоставят Вам информацию о ресурсах. В
следующей главе Вы обнаружите информацию о том, как модифицировать и создавать
ресурсы "на лету".
Информация о ресурсах может быть обнаружена на следующих страницах:
Спрайты
Звуки
Фоны
Шрифты
Пути
Сценарии
Тайм-лайны
Объекты
Комнаты
Спрайты
Следующие функции предоставят Вам информацию о спрайте:
sprite_exists(ind)
Возвращает, если спрайт с заданным индексом ind
существует.
sprite_get_name(ind)
Возвращает имя спрайта, с заданным индексом ind.
sprite_get_number(ind)
Возвращает количество кадров, содержащихся в спрайте с заданным индексом ind.
sprite_get_width(ind)
Возвращает ширину спрайта с заданным индексом ind.
sprite_get_height(ind)
Возвращает высоту спрайта с заданным индексом ind.
sprite_get_transparent(ind)
Возвращает истину, если спрайт с заданным индексом ind является прозрачным.
sprite_get_smooth(ind)
Возвращает, если спрайт с заданным индексом ind
имеет сглаженные края.
sprite_get_preload(ind)
Возвращает, если спрайт с заданным индексом ind
предварительно загружен.
sprite_get_xoffset(ind)
Возвращает смещение по оси x спрайта с заданным индексом ind.
sprite_get_yoffset(ind) Возвращает
смещение по оси y спрайта с заданным индексом ind.
sprite_get_bbox_left(ind)
Возвращает координату левого края прямоугольника, рисуемого на спрайте с
заданным индексом ind.
sprite_get_bbox_right(ind)
Возвращает координату правого края прямоугольника, рисуемого на спрайте с
заданным индексом ind.
sprite_get_bbox_top(ind)
Возвращает координату верхнего края прямоугольника, рисуемого на спрайте с
заданным индексом ind.
sprite_get_bbox_bottom(ind)
Возвращает координату нижнего края прямоугольника, рисуемого на спрайте с
заданным индексом ind.
sprite_get_bbox_mode(ind)
Возвращает тип инициализации прямоугольника, который рисуется на спрайте с
заданным индексом ind.
(0=определяемый автоматически, 1=всё изображение, 2=значения, указываемые
вручную.
sprite_get_precise(ind)
Возвращает, если спрайт с заданным индексом ind
использует улучшенную проверку столкновений.
В некоторых ситуациях Вы можете захотеть сохранить точечный рисунок,
соответствующий специфическому подизображению спрайта в файл. Для этого может
быть использована следующая функция:
sprite_save(ind,subimg,fname)
Сохраняет подизображение subimg
спрайта ind в файл с именем fname. Это должен быть .bmp файл.
Доступно только в Pro издании Game Maker.
Звуки
Следующее функции предоставят Вам информацию о звуке:
sound_exists(ind)
Возвращает, если звук с заданным индексом ind
существует.
sound_get_name(ind)
Возвращает имя звука с заданным индексом ind.
sound_get_kind(ind)
Возвращает тип звукового файла с заданным индексом ind (0=нормальный (wave), 1=фоновый (midi), 2=3D звук,
3=медиа (mp3)).
sound_get_preload(ind)
Возвращает, если звук с заданным индексом ind
был отмечен как предварительно загружаемый.
Звуки используют много ресурсов, и большинство систем могут загружать и
проигрывать только ограниченное количество звуков. Если Вы делаете игру
большой, то Вы бы захотели иметь более полноценное управление над звуками,
загружаемыми в память в определённое время. Вы можете использовать опцию
предварительной загрузки звука, чтобы убедиться, что звуки действительно будут
загружаться только перед использованием. Это всё же имеет проблему, и может
вызвать у Вас "непонятки", когда звук используется сначала. Также,
звуки автоматически не выгружаются, когда они Вам больше не нужны. Для более
полноценного управления Вы можете использовать следующие функции.
sound_discard(index)
Выгружает указанный звук из аудио памяти.
sound_restore(index)
Восстанавливает указанный звук в аудио память для немедленного проигрывания.
Фоны
Следующие функции предоставят Вам информацию о фоне:
background_exists(ind)
Возвращает, если задний фон с заданным индексом ind существует.
background_get_name(ind)
Возвращает имя заднего фона с заданным индексом ind.
background_get_width(ind)
Возвращает ширину заднего фона с заданным индексом ind.
background_get_height(ind)
Возвращает высоту заднего фона с заданным индексом ind.
background_get_transparent(ind)
Возвращает истину, если задний фон с заданным индексом ind имеет прозрачный фон.
background_get_smooth(ind)
Возвращает, если фон с заданным индексом ind
отмечен опцией smoothed edges
(сглаживание).
background_get_preload(ind)
Возвращает, если фон с заданным индексом ind
должен быть предварительно загружаемым.
В некоторых ситуациях Вы можете захотеть сохранить точечный рисунок,
соответствующий заднему фону в файл. Для этого может быть использована
следующая функция:
background_save(ind,fname)
Сохраняет задний фон ind в файл
с именем fname. Это должен быть
.bmp файл.
Доступно только в Pro издании Game Maker.
Шрифты
Следующие функции предоставят Вам информацию о шрифтах:
font_exists(ind)
Возвращает, если шрифт с заданным индексом ind
существует.
font_get_name(ind)
Возвращает имя шрифта с заданным индексом ind.
font_get_fontname(ind)
Возвращает специальное имя шрифта с заданным индексом ind.
font_get_bold(ind)
Возвращает, если шрифт с заданным индексом ind
жирный.
font_get_italic(ind)
Возвращает, если шрифт с заданным индексом ind
наклонный.
font_get_first(ind)
Возвращает индекс первого символа в шрифт с заданным индексом ind.
font_get_last(ind)
Возвращает индекс последнего символа в шрифт с заданным индексом ind.
Пути
Следующее функции предоставят Вам информацию о пути:
path_exists(ind)
Возвращает, если путь с заданным индексом ind
существует.
path_get_name(ind)
Возвращает имя пути с заданным индексом ind.
path_get_length(ind)
Возвращает длину пути с заданным индексом ind.
path_get_kind(ind)
Возвращает тип пути с заданным индексом ind
(0=с углами, 1=сглаженный).
path_get_closed(ind)
Возвращает, если путь закрыт или не закрыт.
path_get_precision(ind)
Возвращает точность, использованную для создания сглаженного пути.
path_get_number(ind)
Возвращает количество определяющих точек для пути.
path_get_point_x(ind,n)
Возвращает x-координату определяющей точки n
для пути. 0 - первая точка.
path_get_point_y(ind,n)
Возвращает y-координату определяющей точки n
для пути. 0 - первая точка.
path_get_point_speed(ind,n)
Возвращает скоростной показатель определяющей точки n для пути. 0 - первая точка.
path_get_x(ind,pos)
Возвращает x-координату в позиции pos
для пути. Значение pos должно
быть между 0 и 1.
path_get_y(ind,pos)
Возвращает y-координату в позиции pos
для пути. Значение pos должно
быть между 0 и 1.
path_get_speed(ind,pos)
Возвращает скоростной показатель в позиции pos
для пути. Значение pos должно
быть между 0 и 1.
Сценарии
Следующее функции предоставят Вам информацию о сценарии:
script_exists(ind)
Возвращает, если сценарий с заданным индексом ind
существует.
script_get_name(ind)
Возвращает имя сценария с заданным индексом ind.
script_get_text(ind)
Возвращает текстовую строку сценария с указанным индексом ind.
Тайм-лайны
Следующее функции предоставят Вам информацию о тайм-лайне:
timeline_exists(ind)
Возвращает, если существует тайм-лайн с заданным индексом ind.
timeline_get_name(ind)
Возвращает имя тайм-лайна с заданным индексом ind.
Объекты
Следующие функции предоставят Вам информацию об объекте:
object_exists(ind)
Возвращает истину, если объект с индексом ind
существует.
object_get_name(ind)
Возвращает имя объекта с индексом ind.
object_get_sprite(ind)
Возвращает имя спрайта, назначенного объекта с заданным индексом ind по умолчанию.
object_get_solid(ind)
Возвращает истину, если объект с индексом ind
по умолчанию твёрдый.
object_get_visible(ind)
Возвращает истину, если объект с индексом ind
по умолчанию видимый.
object_get_depth(ind)
Возвращает глубину объекта с заданным индексом ind.
object_get_persistent(ind)
Возвращает истину, если объект с заданным индексом ind постоянный.
object_get_mask(ind)
Возвращает индекс маски объекта с заданным индексом ind. (-1, если не имеет специальную маску).
object_get_parent(ind)
Возвращает индекс родительского объекта объекта ind (отрицательное значение, если у него нет родителя).
object_is_ancestor(ind1,ind2)
Возвращает, если объект с индексом ind2
является дочерним по отношению к объекту с индексом ind1.
Комнаты
Следующие функции предоставят Вам информацию о комнате:
room_exists(ind)
Возвращает, если комната с индексом ind
существует.
room_get_name(ind)
Возвращает имя комнаты с индексом ind.
Отметьте, что комнаты в течение игры изменяются, и имеются другие программы
для получения информации о содержимом текущей комнаты.
|