1 Создание собственного курсора Создайте спрайт курсора и присвойте его соответствующему объекту. В событие
Step вставьте кусок кода (piece of code) в котором напечатайте:
x=mouse_x y=mouse_y
Затем в игровых опциях (game options) на вкладке graphics отключите пункт
Display the cursor
2 Использование тайлов
Добавьте бэкграунд в котором выберите тайлсэт. Создайте невидимый, твёрдый
(нужно в редакторе объекта слева поставить галку в пункте Solid) объект требуемой
величины и поместите его в комнату. В редакторе комнаты на закладке Tiles выберите
ваш тайлсет и кликните на нужном вам тайле. Затем поместите его поверх вашего
объекта и наслаждайтесь результатом. Если тайл выделяется не полностью, то
нужно настроите его кликнув на кнопке Tile Settings и установив в полях Tile
Width ширину, а в Tile Height требуемую высоту в пикселах.
3 Замена спрайта
Чтобы заменить спрайт у объекта если он например столкнулся с чем-то нужно
поместить в событие действие Change the sprite находящееся на вкладке Main1.
И в списке Sprite выбрать нужный вам.
4 Как сделать чтобы объект появлялся в случайном месте
В событие Create вашего объекта вставьте действие Jump to a random position.
Затем чтобы ваш объект не "вылетал" за рамки комнаты в событии Other=> Outside
room тоже вставьте действие перепрыгивания в случайную позицию.
5 Как сделать чтобы объект отскакивал от стен
Можно воспользоваться тремя действиями:
Reverse horizontal direction - меняет горизонтальное направление на обратное,
Reverse vertical direction - меняет вертикальное направление на обратное,
Bounce against objects - рикошетит объект. Все эти действия находятся на вкладке Move 1.
6 Как проигрывать видео файлы в GM
Для того чтобы проиграть видеофайл из вашей игры, вставьте в соответствующее событие следующий код:
{
show_video('имя_файла.avi', true, false);
}
/*show_video(fname,full,loop) Отображает экранную заставку с видео. fname - название файла с видео (.avi, .mpg). Вы должны поместить этот файл в папку с игрой. full - указывает, отображать ли видео в полноэкранном режиме. loop - указывает, использовать ли непрерывное проигрывание видео.*/
7 Как отобразить картинку
Для того чтобы отобразить какую-либо картинку, используйте такой код:
{
show_image('имя_файла.jpg',true, 55000);
}
/*show_image(fname,full,delay) Отображает экранную заставку с изображением. fname - название файла с изображением (только .bmp, .jpg и .wmf файлы). Вы должны поместить данный файл в папку с игрой. full - указывает, отображать ли картинку в полноэкранном режиме. delay - задержка в секундах перед возвращением в игру.*/
8 Как сделать чтобы справка читалась из внешнего файла
Для того чтобы справка по вашей игре читалась из внешнего rtf-файла, вставьте в событие начала игры (Game Start) следующий код (файл должен находиться в одной папке с игрой):
{
load_info('имя_файла.rtf');
}
/*load_info(fname) Загружает игровую информацию из указанного файла fname. Этот файл должен иметь формат rtf. Это делает возможным показ других файлов справки в других моментах.*/
9 Как сделать несколько скриншотов
Для того чтобы сделать несколько скриншотов, выполните следующие действия: создайте объект o_screenshot, в событии Create напишите:
{
filenumber=1;
}
В событии нажатия на клавишу, при котором должен получаться скриншот, напишите:
{
screen_save(string(filenumber)+ ".bmp");
filenumber+=1;
}
10 как сделать прыжок для героя
Для того чтобы научить главного героя подпрыгивать, поместите следующий код в событие шага:
{
gravity_direction = 270;
if place_free(x,y+1)
gravity = 0.5;
else
gravity = 0;
if (vspeed > 12) vspeed = 12;
}
А затем в событие нажатия клавиши, предназначенной для прыжка, поместите вот этот код:
{
if (!place_free(x,y+1)) vspeed = -10;
}
11 Загрузка ресурсов из внешних файлов
Вполне возможно, что кто-то из вас, дорогие игроделы, при создании своей игры захочет, чтобы ресурсы игры читались из внешних файлов, как в серьезных играх. Что ж, для GM не составит большого труда помочь вам в этом деле. Вы можете загружать из внешних файлов следующие виды ресурсов: спрайты, звуки и задние фоны. В принципе, процесс загрузки везде идентичен, поэтому разберем его на примере спрайтов. Загружать ресурсы можно двумя способами: создавая новые спрайты в игре и заменяя существующие. Я рассмотрю оба способа, однако по моему скромному мнению второй способ гораздо удобнее.
В первом случае мы будем использовать процедуру sprite_add(). Она возвращает имя создаваемого спрайта, которое вы в дальнейшем будете использовать в качестве идентификатора. Таким образом, мы пишем в событии создания комнаты:
{
s_name = sprite_add(fname,img- numb,precise,transparent,videomem,loadonuse,xorig,yorig);
}
В качестве параметров здесь следует писать: fname — путь к файлу и его имя, imgnumb — количество кадров в загружаемом спрайте\стрипе, precise — значение true\false, которое показывает, использовать ли для спрайта улучшенную проверку столкновений, transparent — значение true\false, определяет, будет ли использоваться прозрачный фон для спрайта.
Аналогично указываются параметры loadonuse и videomem, которые отвечают за загрузку только для чтения и использование видеопамяти соответственно. Параметры xorig и yorig отвечают за координату начала спрайта, т.е. положение ориджина.
Таким образом, например, для загрузки прозрачного спрайта из не анимированного файла с именем file.bmp вам необходимо написать следующий код:
{
s_name = sprite_add('file.bmp',1,1, 1,1,0,0,0);
}
При замене спрайта мы создаем в игре "пустой" спрайт, например, с именем s_spr. Далее используем код с аналогичными параметрами, т.е.
{
sprite_replace(ind,fname,imgnumb,precise,transparent,videomem,loadonuse,xorig,yorig);
}
Как вы могли заметить, здесь добавился еще один параметр — ind. Сюда надо вписать название спрайта, которое вы заменяете, т.е. если использовать предыдущий пример, то мы получим следующий код:
{
sprite_replace(s_name,'file.bmp',1,1,1,1,0,0,0);
}
Удобство этого метода заключается в следующем. Имя спрайта, созданного во время игры, представляет собой обычное значение переменной и никак не выделяется, а при замене спрайта вы будете оперировать именем уже созданного спрайта, и оно будет подсвечиваться в редакторе, что очень полезно. Остальные ресурсы загружаются по аналогии.
____________
P.S. Некоторые из вышеуказанных функций работают только в PRO версии GM
автор статьи Vendet