gamemaker rbg background
This commit is contained in:
parent
ee8225b9f9
commit
bdf3d09111
53
content/posts/2022/gamemaker/background_room_color.md
Normal file
53
content/posts/2022/gamemaker/background_room_color.md
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
---
|
||||||
|
title: "🟪 Цвет фона комнаты в GameMaker"
|
||||||
|
date: 2022-12-20T23:41:40+03:00
|
||||||
|
draft: false
|
||||||
|
tags: [gamemaker, gamedev, tutorial]
|
||||||
|
---
|
||||||
|
|
||||||
|
## Введение
|
||||||
|
|
||||||
|
В этом уроке я покажу, как просто изменить цвет фона комнаты
|
||||||
|
в GameMaker через код GML.
|
||||||
|
Для этого нам понадобится всего одна функция —
|
||||||
|
[layer_background_blend(background_element_id, blend);](https://manual.yoyogames.com/GameMaker_Language/GML_Reference/Asset_Management/Rooms/Background_Layers/layer_background_blend.htm)
|
||||||
|
|
||||||
|
Эта функция управляет смешиванием фона sprite.
|
||||||
|
|
||||||
|
По умолчанию в новой пустой комнате на фоновом слое «Background» нет спрайта,
|
||||||
|
но применение цветов через функцию `layer_background_blend()` работает.
|
||||||
|
|
||||||
|
## Пробуем на практике
|
||||||
|
|
||||||
|
Выбираю комнату, в **Room Settings** нажимаю на кнопку **[Creation Code]**,
|
||||||
|
чтобы открыть окно редактирования кода для комнаты и пишу следующий код.
|
||||||
|
|
||||||
|
```cpp
|
||||||
|
var background = layer_background_get_id(layer_get_id("Background"));
|
||||||
|
layer_background_blend(background, c_white);
|
||||||
|
```
|
||||||
|
|
||||||
|
С помощью функции `layer_background_get_id()` получаем идентификатор слоя в комнате
|
||||||
|
и с помощью функции `layer_background_blend()` применяю смешивание с белым цветом.
|
||||||
|
|
||||||
|
В GameMaker есть константы уже готовых цветов, со списком которых можно ознакомиться
|
||||||
|
на этой странице:
|
||||||
|
[Colour And Alpha](https://manual.yoyogames.com/GameMaker_Language/GML_Reference/Drawing/Colour_And_Alpha/Colour_And_Alpha.htm).
|
||||||
|
|
||||||
|
## Применяем свой цвет
|
||||||
|
|
||||||
|
Я уверен, что в 99% случаев цветов предложенных GameMaker не хватит.
|
||||||
|
Ничего страшного. Можно прибегнуть к функции `make_colour_rgb(red, green, blue);`.
|
||||||
|
|
||||||
|
Она создаёт цвет из цветовой модели RGB. У функции три аргумента, вполне очевидные
|
||||||
|
и не требуют дополнительного пояснения.
|
||||||
|
|
||||||
|
Полный пример кода с использованием своего цвета.
|
||||||
|
|
||||||
|
```cpp
|
||||||
|
var background = layer_background_get_id(layer_get_id("Background"));
|
||||||
|
var my_color = make_colour_rgb(71, 45, 60);
|
||||||
|
layer_background_blend(background, my_color);
|
||||||
|
```
|
||||||
|
|
||||||
|
Готово. Запускаем игру и наслаждаемся результатом.
|
Loading…
Reference in New Issue
Block a user