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 34 dni temu
LTS
2022.0.2.51 • 2022.0.2.49
wydana 363 dni temu
Beta
2024.1100.0.634 •
2024.1100.0.658
 0.13.0

wydana 11 dni temu
= IDE, = Runtime, = GMRT
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
22 użytkownicy online na discordzie:
Carl-bot, EchoDuck, GibkiKaktus, lethian, Kowu, Kuzyn, GMRussell, HappyOrange, Tival, r..., Arrekin, yazaa, Domeen0, Dyno, Deusald, szmalu, 🧁Cupcake🧁, Draczeq, Sporek, RuLing, l..., xVANiLL
Shoutbox
Wojo (15:38, 05.09.24)
Ciekawe
gnysek (11:54, 14.08.24)
Ruszyła beta nowego runtime, a stary dostanie już tylko dwa ficzery (UI Layery i obsługę SVG jako vertexy).
Wojo (11:51, 14.08.24)
Co się stało?
gnysek (18:31, 25.07.24)
Ogłaszam nowy etap w historii GameMakera.
gnysek (11:36, 08.07.24)
Ale w sumie taki numer GG był bezpieczniejszy niż nr. telefonu czy kontakt społecznościowy. Utrudniał stalkowanie i ułatwiał banowanie.
Wojo (08:08, 08.07.24)
Niestety to już nie te czasy kiedy pytało się kasjerki o wiek i numer Gadu-Gadu...
Adriann (08:28, 05.07.24)
Albo okraść :|
Adriann (08:28, 05.07.24)
Może pani chciała zobaczyć twoje dane i Cię poderwać :d
gnysek (10:38, 03.07.24)
Mnie ostatnio w Żabce zapytali o wiek. A mam już ponad dwie osiemnastki.
Wojo (08:27, 30.06.24)
Ogólnie to miał być żart ponieważ portal internetowy, którego można opisać jako PH jest portalem przeznaczonym dla dorosłych. Miało być śmiesznie wyszło żenująco, a wiadomości w shoutboxie nie mogę skasować :P
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?