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.8.1.171 • 2024.8.1.218
wydana 75 dni temu
LTS
2022.0.3.83 • 2022.0.3.98
wydana  3 dni temu
Beta
2024.1100.0.686 •
2024.1100.0.707
 0.13.0

wydana 9 dni temu
= IDE, = Runtime, = GMRT
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
Shoutbox
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
Chell (20:40, 08.11.24)
tylko? :O 4tk ma 15
Borek (18:12, 07.11.24)
Właśnie dostałem powiadomienie z forum, że jestem na GMClanie 18 lat :D Ja pierdzielę...
S
Sutikku (08:43, 18.10.24)
TIL, gamemaker jest starszy ode mnie
gnysek (16:04, 15.10.24)
Za równo miesiąc, GameMaker kończy 25 lat.
Wojo (15:38, 05.09.24)
Ciekawe
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?