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.2.0.132 • 2024.2.0.163
wydana 15 dni temu
LTS
2022.0.2.51 • 2022.0.2.49
wydana 154 dni temu
Beta
2024.400.0.516 • 2024.400.0.537
wydana  5 dni temu
= IDE, = Runtime
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
18 użytkowników online na discordzie:
Carl-bot, p..., Wielki Druid, Kowu, fervi, RogerDodg3r, YoungKrystian, PhysX ᴺⱽᴵᴰᴵᴬ, antek, Uzjel, Moldis, LeD, Dyno, LadyLush, bagno, l..., TobiasM (Morgo), xVANiLL
Shoutbox
I am Lord (19:15, 17.03.24)
6h mam na to hmmm
I am Lord (19:06, 17.03.24)
Ale temat fajny
gnysek (01:33, 13.03.24)
Powinno działać, jest w kodzie sortowanie wg. najbliższego startu :)
Uzjel (21:59, 11.03.24)
Nie, ale za pierwszym razem zrobiłem fuckup, że było "Tura testowa" X_X
I am Lord (16:58, 11.03.24)
A co Uzjel już masz nawymyślane 100 tematów? 😅
Uzjel (20:08, 10.03.24)
@gnysek a jak bym dodał kilka lig na raz to walnie?
Uzjel (20:08, 10.03.24)
Liga będzie zawsze od piątku 16:00 do poniedziałku 23:59, zawsze w środku miesiąca.
gnysek (08:48, 10.03.24)
Tak, to też jest do poprawy X_X
Adriann (18:22, 09.03.24)
Tylko myślę czy nie leiej gdyby mówiło że zostało tyle i tyle dni i ileś godzin a nie tylko w godzinach ;d Albo konkretna data obok, byłoby czytelniej
I am Lord (15:08, 08.03.24)
o super z tą ligą :)
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?