Суббота, 25 ноября 2017, 00:53

Приветствую Вас Гость

Меню сайта
Категории каталога
Создание игр [306]
Статьи об общих понятиях связанных с созданием игр.
Программирование [69]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [123]
Статьи о программах для создания игр, уроки и описания.
Софт [27]
Различные программы, в том числе в помощь игроделам.
2D-графика [11]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [10]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [4]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [70]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [56]
Статьи, которые не вошли в определённые разделы.
Наш опрос
Для какой операционной системы пишите игры?
Всего ответов: 17298
Главная » Статьи » Создание игр

Использование сурфейсов в GM
Статья в формате *.docx
Ispolqzovanie_surfeysov_v_GM.docx (36 кб.)

Использование сурфейсов в GM

Всем привет, я AgentX001 и сегодня мы разберёмся, что такое сурфейсы в Game Maker, и с чем их едят. К концу урока мы создадим эффект фонаря с использованием сурфейсов. Надеюсь, что вы имеете понятие о гм, так-как сурфейсы это довольно сложная тема!
Цитата из справки:
«В определённых ситуациях Вы можете не захотеть рисовать непосредственно на экране, а хотели бы рисовать на холсте, который можно отрисовать потом, чтобы закрашивать элементы на экране. Такой холст называется - сурфейс (surface,поверхность).Например, Вы хотите позволить, чтобы пользователь сам рисовал на экране. Краска не должна быть нарисована на экране (поскольку она будет удаляться каждый следующий шаг), но взамен Вы можете рисовать на отдельном сурфейсе, который будет копироваться на экране в каждом шаге. Или Вы хотите использовать текстуру, которая в завершении будет изменяться.
Сурфейсы делают всё это возможным. Их фактически довольно просто использовать. Вы сначала создаёте сурфейс. Затем Вы указываете, что дальнейший рисование должно происходить на этом сурфейсе. С того момента во всех функциях рисования действие будет происходить на нём. Как только Вы завершили, повторно установите цель рисованияи дальнейшее рисование случится на экране. Вы можете рисовать сурфейс на экране многими различными путями или использовать его как структуру.»

В справке, увы, чуток запутанно… Попробую объяснить я.
Сурфейс – это некоторая область, на которой мы можем рисовать. И только рисовать. Например, мы можем создать объект гильзы, отрисовать его спрайт в сурфе и удалить сам объект. А картинка остаётся ((= Таким образом мы задействуем ресурсы видеокарты, почти не используя оперативную память. Сурфейсы целесообразно применять, когда некоторый объект должен быть только отрисован, но не должен взаимодействовать с другими объектами.
Итак, фонарик! Предполагаю, что у вас есть какая-нибудь простенькая заготовка игры. С ней мы и будем работать.

Создаём спрайт света фонаря spr_light. Оцентровываем как на рисунке.

Создаём объект o_surf.

Create:
surf=surface_create(room_width,room_height)//создаём сурфейс, размером в комнату.
lighter = false

End step:
surface_set_target(surf)//устанавливаем сурф для рисования
draw_set_blend_mode_ext(bm_src_color,bm_one)//устанавливаем режим смешивания (Читать в справке, важно!)
draw_clear_alpha(c_black,0.75)//заполняем комнату чёрным цветом, делаем «ночь»
if lighter = true
{
draw_set_blend_mode(bm_subtract)//и снова режим смешивания…
draw_sprite_ext(spr_light,-1,o_hero_body.x,o_hero_body.y,1,1,o_hero_weapons.image_angle,c_white,0.6) //малюем наш спрайт
}
draw_set_blend_mode(bm_normal) )//и снова режим смешивания…
surface_reset_target()//обновляем сурф

F-key
lighter = !lighter

Room end
surface_free(surf)// чистим сурф при выходе, ВАЖНО!

Draw
draw_surface(surf,0,0)//малюем сурфейс

И вуаля!!

P. S.: в статье я использовал свою игру, вам прийдётся подстраивать код под себя. Но я ведь говорил – «Надеюсь, что вы имеете понятие о гм, так-как сурфейсы это довольно сложная тема!»
В любом случае вы можете обратиться на форум сайта GCUP.RU!!

Категория: Создание игр | Добавил: AGENTX001 (11 апреля 2011) | Автор: Илья
Просмотров: 9788 | Комментарии: 8 | Рейтинг: 3.6/11 |
Теги: Game Maker, Сурфейсы в Game Maker, фонарь, Surface, GM, GML, сурфейсы, Программирование, эффекты, фонарик
Дополнительные опции:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:

Игровые объявления и предложения:
Если вас заинтересовал материал «Использование сурфейсов в GM», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела. Предлагаются такие схожие материалы: Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.

Всего комментариев: 8
+-1-
8 AGENTX001   (14 апреля 2011 09:37)
AGENTX001ЛАНА. В СЛЕДУЮЩИИ РАЗ РАССКАЖУ ПОДРОБНЕЕ.

+1-
6 GECK   (13 апреля 2011 17:05)
GECK> //устанавливаем режим смешивания (Читать в справке, важно!)
Проще было бы тогда не писать статью, а сразу в гугл послать) Расписал бы их.

+0-
7 Eshford   (13 апреля 2011 17:38)
EshfordВот вот dry

+-3-
4 AGENTX001   (13 апреля 2011 16:11)
AGENTX001 Куча ошибок...
Где??

+-1-
5 Eshford   (13 апреля 2011 16:35)
EshfordВ коде wink

+0-
3 Eshford   (12 апреля 2011 16:51)
EshfordТупизм. Ужасная статья. Ты просто всё стырил с какого-то примера. Куча ошибок... dry dry dry

+-2-
2 Eshford   (12 апреля 2011 16:42)
EshfordА я ничего не понял! sad

+2-
1 GameMix   (12 апреля 2011 12:45)
GameMixСпасибо за статью! smile

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск по сайту
10 случ. движков
  • PointJS
  • Ethanon Engine
  • Awakening
  • Unity
  • BlitzMax
  • Xaya Adventure Game Editor
  • Metagam
  • PGD Community Engine
  • Sonic Maker
  • DarkPlaces
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    GameDev, Уроки OpenGL, Программирование, Создать Minecraft
    Все права сохранены. GcUp.ru © 2008-2017 Рейтинг