Ten artykuł został stworzony dla starszych wersji GameMakera i może nie być aktualny.

Półprzeźroczystość - czyli kanały alpha w GM6

Niedziela, 09 Marca 2008, 15:14
Czas czytania 2 minuty, 22 sekundy
Zgodne z GM: gm6 gm7
GM7 pozwala na wczytywanie plików PNG z kanałami alpha, ale GM6 wcale nie jest pod tym względem gorszy. Istnieje bowiem funkcja sprite_set_alpha_from_sprite()
GM7 pozwala na wczytywanie plików PNG z kanałami alpha, ale GM6 wcale nie jest pod tym względem gorszy. Istnieje bowiem funkcja sprite_set_alpha_from_sprite(); W tym artykule pokażę jak uzyskać efekt półprzeźroczystych grafik.

Grafika Statyczna

Po pierwsze przyda nam się Photoshop i to na jego podstawie opowiem jak przygotować grafiki.
Odpalamy więc Photoshopa i wstawiamy tekst.
Do swojego napisu użyłem czcionki Showard Gothic, 72px, wygładzanie na Smooth.
Dodałem efekty:
- Outer Glow (Blending Mode: Normal, Kolor: #000000, Spread: 10%, Size: 20px)
- Bevel and Emboss (Size: 1)
- Stroke (3px, Kolor: #EA7125)

Otrzymałem coś takiego (zapisz sobie ten obrazek jako plik, najlepiej PNG lub BMP, ostatecznie GIF lub JPG):
Grafika: upload/gm/o1.png

Teraz trochę trudniej. Tworzymy nową, pustą warstwę i łączymy ją z obecną. Powinna zniknąć możliwość edycji tekstu, oraz efektów - warstwa stanie się gotową grafiką. Dodajemy teraz efekt Color Overlay i ustawiamy biały kolor. Tworzymy poniżej obecnej warstwy nową i wypełniamy ją czarnym kolorem.
Otrzymamy taką grafikę:

Grafika: upload/gm/o2.png

Ok, mamy już nasze logo oraz jego maskę. Teraz przejdziemy do edycji w Game Makerze 6.
Tworzymy dwa osobne sprity i dodajemy w pierwszym grafikę kolorową (spr_0), a w drugim (spr_1) tą czarno białą (maskę). Możemy odznaczyć transparent, chociaż nie jest to konieczne. Teraz tworzymy nowy obiekt, ustawiamy mu jako sprite spr_0. W create dodajemy taki kod:
kodsprite_set_alpha_from_sprite(spr_0,spr_1);Dodajemy nowy room, ustawiamy nasz obiekt i odpalamy grę. Jak widać, blask dookoła napisu jest teraz widoczny, a gdy pod obiektem ustawimy tło lub postacie, będzie on w połowie prześwitujący. Oczywiście można sprawić, aby napis był jeszcze bardziej przeźroczysty, ale to już pozostawiam waszej wyobraźni i umiejętnościom pracy w Photoshopie bądź innym programie.

Animacja

Dobra, a teraz czas na animację (grafikę wziąłem z RPG Maker XV). Mamy, ot taką grafikę, w formacie PNG z kanałami Alpha (Użytkownicy Internet Explorera 6 zobaczą niestety błękitne tło zamiast pięknego prześwitu :P).

Grafika: upload/gm/k1.png

Co zrobić z tym fantem? Otwieramy tą grafikę w Photoshopie i tak jak poprzednio dodajemy efekt Color Overlay i ustawiamy biały, potem tworzymy nową warstwę poniżej obecnej i wypełniamy czarnym kolorem. Otrzymamy takie coś:

Grafika: upload/gm/k2.png

Teraz przechodzimy do naszego projektu w GM6. Przechodzimy do edycji pierwszego sprita i wybieramy opcję Create from Strip. Ustawiamy Number of images na 4, Images per row na 2 a Width i Height na 192. Wczytujemy grafikę i to samo robimy z jej maską. Do naszego obiektu warto jeszcze dodać kod image_speed=0.3; żeby animacja nie zasuwała zbyt szybko i pozostaje nam podziwiać naszą pracę.

Miłego eksperymentowania.
Komentarze (łącznie 22, wyświetlam 1 - 15):
Y
Yoda (Nie., 09 Mar. 08, 15:26)
#1

Fajniście =)

S
Snake (Nie., 09 Mar. 08, 16:11)
#2

Art o takiej prostej funkcji ? e tam. Ale zawsze ktoś tam skorzysta z tego artykułu :P

gnysek (Nie., 09 Mar. 08, 16:14)
#3

W sumie to nie o funkcji, a o tym jak przygotować taką grafikę.

Matthew (Nie., 09 Mar. 08, 16:20)
#4

Hmm... Niezły art! Thx, Gnysek. Właśnie tego od dawna szukałem. Taki "blend" sprite'ów bez kombinowania z image_blend...

Firemark (Nie., 09 Mar. 08, 22:52)
#5

do tego są arty ?

gnysek (Pon., 10 Mar. 08, 13:28)
#6

Do tego jak używać, czy do tego jak przygotować ?

kubasz (Czw., 13 Mar. 08, 19:11)
#7

A istnieje funkcja do ustawienia KOLORU PRZEŹROCZYSTOŚCI?
Nie, nie tej z dolnego lewego rogu ekranu!
Użytkownik GM7

gnysek (Czw., 13 Mar. 08, 20:30)
#8

Nie. Chyba, ze takim sposobem jak pokazałem.

kubasz (Pią., 14 Mar. 08, 12:14)
#9

A o jaką ci chodziło na początku?:
"GM7 pozwala na wczytywanie plików PNG z kanałami alpha"
U mnie PNG z alpha nie działa!

gnysek (Pią., 14 Mar. 08, 13:06)
#10

Bo musisz wczytywać z dysku, gdyż edytor spritów GM nie obsługuje tych kanałów.

kubasz (Pią., 28 Mar. 08, 19:15)
#11

Już znalazłem:
spr=sprite_add_alpha(pliczek);

M@ti002 (Pon., 05 Maj. 08, 18:44)
#12

dzieki :D przyda mi sie do rozmazanych cieni ;)

HuderLord (Pon., 05 Maj. 08, 21:45)
#13

Do tej pory korzystałem z wbudowanych blendów w Gm6 ale widzę że jednak znalazł się łatwiejszy sposób. :D

Marek Siemaszko (Pią., 20 Cze. 08, 21:14)
#14

warto wspomnieć, że Color Overlay to zwykłe nałożenie koloru :P

gumex (Sob., 09 Sie. 08, 15:12)
#15

a można wczytać z dysku obrazek z kanałem alpha i przerobić go na animacje?

Najnowsze wersje GameMakera:

Stabilna
2024.11.0.179 • 2024.11.0.227
wydana 61 dni temu
LTS
2022.0.3.85 • 2022.0.3.99
wydana 77 dni temu
Beta
2024.1300.0.743 •
2024.1300.0.753
 0.15.4

wydana  6 dni temu
= IDE, = Runtime, = GMRT
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
54 użytkownicy online na discordzie:
🧁Cupcake🧁, Draczeq, Nikas, Alice, LeD, Nitro Slav, Carl-bot, Saus, p..., lethian, Grela, Wielki Druid, Alkapivo, Kysiu, Kowu, Kuzyn, GMRussell, Tival, fervi, 𝕳𝖚𝖌𝖔 𝕲𝖔𝖓𝖝𝖆𝖑𝖊𝖝, Radek Ignatów, Kalor, r..., antek, HappyOrange, Arrekin, m..., firemark, Sporek, Domeen0, LadyLush, Dyno, Deusald, szmalu, Morro, ZYGZAK, Miłosz, Marco, Ulti, bagno, Tidżi, Danieo, Mtax, Huder, l..., Jayu, moeglich, s..., Add92, Krzysiek1250, h..., d..., Shockah, exigo
Shoutbox
gnysek (10:35, 18.02.25)
W ciągu 10 dni mają wyjść w końcu Layery UI :D
Wojo (10:25, 27.12.24)
Jak tworzyłeś* ah ta niecną autokorekta (kiedyś też stworzyłem apki na androida w sumie)
Wojo (10:23, 27.12.24)
O siemka baca, czasami myślę o tobie w kontekście tego jak tworzyłem apki na androida. Swoją drogą czasami zapominam, że forum istnieje bo cały ruch teraz utrzymuje się na discordzie, ale pora to zmienić!
Uzjel (20:17, 10.12.24)
Cały ruch przeniósł się na Discorda.
MagnusArias (17:43, 01.12.24)
O matko... a ja tutaj jestem od ponad 15 lat i czasami zaglądam... biernie bo biernie, ale czasem wpadnę
gnysek (11:46, 17.11.24)
Witamy, witamy!
baca (12:22, 16.11.24)
To już 25 lat.. Witam po paru latach nieobecności.
gnysek (11:05, 15.11.24)
Natomiast obecne forum istnieje od 2004, jak z iglu.cz na gmclan.org przeszliśmy i od tego czasu nie było resetów danych.
gnysek (12:35, 13.11.24)
Ogólnie GMCLAN istnieje 22 lata, ale na to trofeum nie zrobiłem (jeszcze xD)
Chell (20:41, 08.11.24)
wow, ta emotka w ogóle nie wygląda jak : O xD
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?