diff --git a/content/posts/2022/gamemaker/background_room_color.md b/content/posts/2022/gamemaker/background_room_color.md new file mode 100644 index 0000000..841f893 --- /dev/null +++ b/content/posts/2022/gamemaker/background_room_color.md @@ -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); +``` + +Π“ΠΎΡ‚ΠΎΠ²ΠΎ. ЗапускаСм ΠΈΠ³Ρ€Ρƒ ΠΈ наслаТдаСмся Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ.