Game Maker - создание игр | HellRoom Games
Декабрь 07, 2025, 04:08:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: GMS2: Создание слоя с цветом + смена этого цвета и прозрачности слоя  (Прочитано 3226 раз)
0 Пользователей и 1 Гость смотрят эту тему.
2nd Channel
Участник
****

Репутация: 34
Offline Offline

Пол: Мужской
API: Game Maker 7.0 Pro
Деятельность: Программист, сценарист; ищу ресурсы
Сообщений: 159


False Unkende


WWW
« : Июль 08, 2024, 11:05:57 »

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

Собственно, как на лету (без добавления его заранее в редакторе) в GMS2 создавать слой, заполненный определённым цветом и прозрачностью, а затем в нужный момент (условно, при нажатии клавиши) менять эти параметры?

Максимум, чего удалось добиться, создавать слой с изначально заданными параметрами. Но менять их не мог.

Нужно ли удалять слой при окончании комнаты?
Какие подводные камни есть при работе с подобными слоями?
Записан

AndrewVideoGames
Главный Модератор
*

Репутация: 821
Offline Offline

Пол: Мужской
Награды:
За постоянность! [500 дней на форуме]За лояльность! [+750 репутации]5000 сообщений!За помощь новичкам!
API: GameMaker Studio Pro
Деятельность: А я кто? А я руководитель!
Сообщений: 7316



« Ответ #1 : Июль 08, 2024, 12:12:33 »

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

Собственно, как на лету (без добавления его заранее в редакторе) в GMS2 создавать слой, заполненный определённым цветом и прозрачностью, а затем в нужный момент (условно, при нажатии клавиши) менять эти параметры?

Максимум, чего удалось добиться, создавать слой с изначально заданными параметрами. Но менять их не мог.

Нужно ли удалять слой при окончании комнаты?
Какие подводные камни есть при работе с подобными слоями?
Уточните что за слой вы имеете ввиду, background? Меняются они функциями layer_background_blend() и layer_background_alpha()
Записан
2nd Channel
Участник
****

Репутация: 34
Offline Offline

Пол: Мужской
API: Game Maker 7.0 Pro
Деятельность: Программист, сценарист; ищу ресурсы
Сообщений: 159


False Unkende


WWW
« Ответ #2 : Июль 08, 2024, 21:35:07 »

Да, background.
По крайней мере, в редакторе комнат использовал именно его раньше.
Наверно, в нём, как и в старом ГМ, background можно использовать лишь для изображений и цвета. Не помещать объекты на него.

Мне нужно просто залить этот слой определённым цветом и прозрачности. И иметь возможность менять при надобности. В том числе и удалять его.
И как-то устанавливать поверх одних и позади других слоёв (например, под игроком, но выше врагов (враги и игрок на разных слоях, естественно)).

Я могу это делать в случае, если изначально создал слой в редакторе.
Но как создавать слой налету и управлять им, не понимаю.

"bckg" - созданный заранее в редакторе фоновый слой.

Записан

AndrewVideoGames
Главный Модератор
*

Репутация: 821
Offline Offline

Пол: Мужской
Награды:
За постоянность! [500 дней на форуме]За лояльность! [+750 репутации]5000 сообщений!За помощь новичкам!
API: GameMaker Studio Pro
Деятельность: А я кто? А я руководитель!
Сообщений: 7316



« Ответ #3 : Июль 08, 2024, 21:42:16 »

Да, background.
По крайней мере, в редакторе комнат использовал именно его раньше.
Наверно, в нём, как и в старом ГМ, background можно использовать лишь для изображений и цвета. Не помещать объекты на него.

Мне нужно просто залить этот слой определённым цветом и прозрачности. И иметь возможность менять при надобности. В том числе и удалять его.
И как-то устанавливать поверх одних и позади других слоёв (например, под игроком, но выше врагов (враги и игрок на разных слоях, естественно)).

Я могу это делать в случае, если изначально создал слой в редакторе.
Но как создавать слой налету и управлять им, не понимаю.

"bckg" - созданный заранее в редакторе фоновый слой.


Не думали использовать вместо фона draw_rectangle на весь экран? Не очень целесообразно удалять и создавать слои фона.
Записан
2nd Channel
Участник
****

Репутация: 34
Offline Offline

Пол: Мужской
API: Game Maker 7.0 Pro
Деятельность: Программист, сценарист; ищу ресурсы
Сообщений: 159


False Unkende


WWW
« Ответ #4 : Июль 08, 2024, 21:45:09 »

Можно и так, конечно, но я это делаю для собственного дебаг-режима.
Проще было бы не трогать другие временные экземпляры на экране и помещать отдельный слой с цветом между разными объектами для тестирования.
И просто интересно как это делается.
Записан

AndrewVideoGames
Главный Модератор
*

Репутация: 821
Offline Offline

Пол: Мужской
Награды:
За постоянность! [500 дней на форуме]За лояльность! [+750 репутации]5000 сообщений!За помощь новичкам!
API: GameMaker Studio Pro
Деятельность: А я кто? А я руководитель!
Сообщений: 7316



« Ответ #5 : Июль 08, 2024, 22:03:14 »

Можно и так, конечно, но я это делаю для собственного дебаг-режима.
Проще было бы не трогать другие временные экземпляры на экране и помещать отдельный слой с цветом между разными объектами для тестирования.
И просто интересно как это делается.
Отрисовывайте в объекте контроллера draw_rectangle с draw_set_color и draw_set_alpha. Если хотите перемещать между слоями – меняйте depth.
Записан
2nd Channel
Участник
****

Репутация: 34
Offline Offline

Пол: Мужской
API: Game Maker 7.0 Pro
Деятельность: Программист, сценарист; ищу ресурсы
Сообщений: 159


False Unkende


WWW
« Ответ #6 : Июль 08, 2024, 22:10:38 »

Можно и так, конечно, но я это делаю для собственного дебаг-режима.
Проще было бы не трогать другие временные экземпляры на экране и помещать отдельный слой с цветом между разными объектами для тестирования.
И просто интересно как это делается.
Отрисовывайте в объекте контроллера draw_rectangle с draw_set_color и draw_set_alpha. Если хотите перемещать между слоями – меняйте depth.
Как уже ответил, это может быть решением. Но не столь удобным. Спасибо в любом случае.
Если разрешу этот вопрос или кто другой подскажет, напишу об этом здесь.

Добавлено: Июль 09, 2024, 04:09:42
Оказалось довольно просто.
Код:
layer_create(-1000, "yes");
bckg=layer_background_create("yes", -1);

layer_background_blend(bckg, c_yellow);
« Последнее редактирование: Июль 09, 2024, 04:09:42 от 2nd Channel » Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

HellRoom Games © 2006-2012 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines
Страница сгенерирована за 0.069 секунд. Запросов: 28.