Небольшие хитрости Game maker’а - Форум Игроделов
Пн, 06 Май 2024, 19:10 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » GAME MAKER » МАНУАЛЫ И УРОКИ » Небольшие хитрости Game maker’а ((разные полезности))
Небольшие хитрости Game maker’а
maxicorpДата: Ср, 24 Фев 2010, 20:45 | Сообщение # 1
 
Сообщений: 24
Награды: 1
Репутация: 65
Статус: Offline
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


Сообщение отредактировал maxicorp - Ср, 24 Фев 2010, 20:47
 
Сообщение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

Автор - maxicorp
Дата добавления - 24 Фев 2010 в 20:45
FSXДата: Ср, 24 Фев 2010, 21:07 | Сообщение # 2
 
Сообщений: 340
Награды: 2
Репутация: 55
Статус: Offline
В следующий раз пожалста не используйте синий шрифт,а то ни *уя не видно...
 
СообщениеВ следующий раз пожалста не используйте синий шрифт,а то ни *уя не видно...

Автор - FSX
Дата добавления - 24 Фев 2010 в 21:07
maxicorpДата: Чт, 25 Фев 2010, 13:38 | Сообщение # 3
 
Сообщений: 24
Награды: 1
Репутация: 65
Статус: Offline
FSX, хорошо, возьму на заметку

Сообщение отредактировал maxicorp - Чт, 25 Фев 2010, 13:39
 
СообщениеFSX, хорошо, возьму на заметку

Автор - maxicorp
Дата добавления - 25 Фев 2010 в 13:38
Форум Игроделов » GAME MAKER » МАНУАЛЫ И УРОКИ » Небольшие хитрости Game maker’а ((разные полезности))
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024