Содержание 

Cправка Game Maker
Что нового
Использование Game Maker
Продвинутое использование
Совершенствование вашей игры
Game Maker Language (GML)
Описание языка GML
Функции вычисления
Игровой процесс
Взаимодействие с игроком
Игровая графика
Звук и музыка
Заставки, таблицы рекордов и всплывающие окна
Ресурсы
Изменение ресурсов
Спрайты
Звуки
Фоны
Шрифты
Пути
Скрипты
Тайм-лайны
Объекты
Комнаты
Файлы, регистр и выполнение программ
Структуры данных
Создание частиц
Многопользовательские игры
Использование DLL библиотек
3D графика
О переводе


Рейтинг@Mail.ru

GMakers.ru © 2007-2011 - All Rights Reserved

Справка Game Maker 8.0

Предыдущая Следующая

Спрайты

Следующие функции доступны для изменения свойств спрайта:
sprite_set_offset(ind,xoff,yoff) Устанавливает смещение центра спрайта с заданным индексом.

Следующие функции могут быть использованы для создания новых спрайтов и их удаления.

sprite_duplicate(ind) Создает дубликат спрайта с заданным индексом. Возвращается индекс нового спрайта. При возникновении ошибки возвращается -1.
sprite_assign(ind,spr) Присваивает указанный спрайт спрайту ind. Так что это создает копию спрайта. Таким образом, Вы можете легко назначить существующий спрайт на другой, например, новый спрайт.
sprite_merge(ind1,ind2) Добавляет кадры спрайта ind2 в спрайт ind1, добавляя их в конец. Если размеры не совпадают, то спрайты масштабируются, чтобы подогнать их под размер. Спрайт ind2 не удаляется!
sprite_add(fname,imgnumb,removeback,smooth,xorig,yorig) Добавляет изображение, хранящееся в файле fname к спрайтовым ресурсам. Много различных типов файлов изображений могут быть загружены. Если изображение не GIF файл, рисунок может быть в виде стрипа, содержащей ряд кадров спрайта рядом друг с другом. Аргумент imgnumb указывает их количество (1 для одного изображения). Для (анимации) GIF изображения, этот аргумент не используется, а используется количество кадров записанное в формате GIF-файла. removeback указывает, следует ли сделать все пиксели с цветом фона (левый нижний пиксель) прозрачными. smooth указывает сгладить ли края. xorig и yorig показывают положение центра спрайта. Функция возвращает индекс нового спрайта, которые можно затем использовать для рисования или присвоить его переменной sprite_index в объекте. При возникновении ошибки возвращается -1.
sprite_replace(ind,fname,imgnumb,removeback,smooth,xorig,yorig) То же, что и выше, но в этом случае спрайт с индексом ind заменяется. Функция возвращает если завершилась успехом.
sprite_add_sprite(fname) Добавляет спрайт хранящийся в файле fname к спрайтовым ресурсам игры. Файл должен быть Gmspr файлом, который сохраняется в форме настройки свойств спрайта в Game Maker. Поскольку этот файл содержит все настройки спрайта, никаких других аргументов не требуется. Функция возвращает индекс нового спрайта, который можно затем использовать чтобы рисовать спрайт или присвоить его переменной sprite_index экземпляра объекта. При возникновении ошибки возвращается -1.
sprite_replace_sprite(ind,fname) То же, что и выше, но в этом случае спрайт с индексом ind будет заменен. Функция возвращает если завершилась успехом.
sprite_create_from_screen(x,y,w,h,removeback,smooth,xorig,yorig) Создает спрайт, скопировав заданную область с экрана. removeback указывает, следует ли сделать все пиксели с цветом фона (левый нижний пиксель) прозрачным. smooth задает сглаживание границ. Это дает возможность создавать любые спрайты, какие Вы хотите. Нарисуйте изображение на экране с помощью функций рисования и затем создайте спрайт из него. (Если Вы не сделаете этого в событии рисования, Вы даже можете сделать это таким образом, чтобы спрайт не был виден на экране, если экран не обновляется.) Остальные параметры такие же, как указаны выше. Функция возвращает индекс нового спрайта. При работе с этой функцией необходима осторожность. Даже если мы говорим об экране, на самом деле подразумевается регион рисования. Тот факт, что есть окно на экране и, что изображение может быть масштабировано в этом окне, не имеет значения.
sprite_add_from_screen(ind,x,y,w,h,removeback,smooth) Добавляет область экрана в качестве следующего кадра к спрайту с индексом ind.
sprite_create_from_surface(id,x,y,w,h,removeback,smooth,xorig,yorig) Создает спрайт, скопировав данную область с указанного сурфейса. removeback указывает, следует ли сделать все пиксели с цветом фона (левый нижний пиксель) прозрачным. smooth указывает на гладких границ. Эта функция дает возможность создавать любые спрайты, какие Вам потребуются. Нарисуйте изображение на сурфейс с помощью функций рисования и в дальнейшем создайте спрайт из него. Эта функция возвращает индекс нового спрайта. Обратите внимание, что значения альфа прозрачности тоже сохраняются в спрайт.
sprite_add_from_surface(ind,id,x,y,w,h,removeback,smooth) Добавляет участок сурфейса в качестве следующего кадра в спрайте с индексом ind.
sprite_delete(ind) Удаляет спрайт из памяти, освобождая занятую им память.

Следующие функции используются для изменения внешнего вида спрайта.

sprite_set_alpha_from_sprite(ind,spr) Изменяет альфа значения (прозрачность) спрайта с индексом ind на значения яркости в спрайте spr. Результат не может быть отменен.

Наконец, Вы можете изменить маску столкновений для спрайтов следующими функциями. Помните, что они не будут работать правильно, если например спрайт уже присутствует в комнате.

sprite_collision_mask(ind,sepmasks,bboxmode,bbleft,bbright,bbtop,bbbottom,kind,tolerance) Изменяет маску столкновений для спрайтов с индексом ind. sepmasks указывает должны ли быть отдельные маски столкновения для всех кадров. bboxmode устанавливает режим ограничивающей рамки (0 = автоматически, 1 = изображение целиком, 2 = определенное пользователем). bbleft, bbright, bbtop, bbbottom указывают размеры ограничивающего прямоугольника. Вы можете использовать 0 для всех этих значений в случае другого режима столкновений. Kind это вид маски (0 = точная, 1 = ограничивающий прямоугольник, 2 = диск, 3 = ромб). tolerance означает порог значения прозрачности (0 = нет прозрачности, 255 = полная прозрачность).
 
Рейтинг@Mail.ru