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 16 - 30):
p
Pivot18 (Pią., 20 Mar. 09, 18:44)
#16

Napewno się przyda =D

p
Pivot18 (Nie., 04 Paź. 09, 17:30)
#17

a jak to ustawić do zmienej

Platyna (Nie., 04 Paź. 09, 17:36)
#18

W jakim sensie?

p
Pivot18 (Nie., 04 Paź. 09, 17:44)
#19

bo tak to ustawiasz do sprita.
a jak ustawić do zmiennej

Platyna (Nie., 04 Paź. 09, 17:49)
#20

Ale co ty chcesz ustawić do zmiennej?
Sprite'a z kanałami alpha?
No to zrób sobie kopię sprite'a w zmiennej i nałóż alfę na tą kopię.

p
Pivot18 (Nie., 04 Paź. 09, 17:50)
#21

A n sry to ustawia d sprita z indexu xd

p
Pivot18 (Nie., 04 Paź. 09, 22:52)
#22

O można to użyć to wycinania czegoś w spritu

Najnowsze wersje GameMakera:

Stabilna
2024.2.0.132 • 2024.2.0.163
wydana 54 dni temu
LTS
2022.0.2.51 • 2022.0.2.49
wydana 193 dni temu
Beta
2024.400.0.549 • 2024.400.0.567
wydana  4 dni temu
= IDE, = Runtime
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
22 użytkownicy online na discordzie:
Kysiu, s..., Alice, DungeonFairy🧚, Nitro Slav, Carl-bot, Add92, Kowu, Kuzyn, Filyps, fervi, LadyLush, chleb, MKP (GEM), Dyno, ZYGZAK, Miłosz, m..., HappyOrange, l..., Shockah, 🧁Cupcake🧁
Shoutbox
gnysek (20:44, 11.04.24)
Niektórzy dlatego wybierają GMEdit. Ale ja liczę na Code Editor 2, tylko na razie zbyt zbugowany jest.
Tymon (16:11, 11.04.24)
Stitch dla mnie osobiście jest lepszy bo nie musze kopać się z interfejsem GMa i mogę tylko pisać kod.
Tymon (16:05, 11.04.24)
Yes. Obecny nie jest taki zły, jak zainstalowałem najnowszą stabilną to w porównaniu z tym czego używałem... 10 lat temu...? Wszystko wydaje się lepsze.
gnysek (22:48, 10.04.24)
bscotch/stitch ? Ja czekam na fixy do nowego edytora, bo wszystko wydaje się dziś lepsze od tego obecnego :D
Tymon (19:54, 10.04.24)
Hm, Stitch okazuje się całkiem dobrą alternatywą dla wbudowanego edytora
Wojo (22:16, 08.04.24)
siemano huder myślałem, że zniknąłeś całkiem z gmclanu bo na discordzie cie nie ma :D
I am Lord (00:37, 05.04.24)
O dzięki :D
gnysek (09:58, 02.04.24)
Znalazłem na podstawie jego postów: youtube.com/@Jakim_
I am Lord (20:16, 01.04.24)
Ktoś ogarnia jakie konto miał Jakim na YT?
gnysek (16:07, 29.03.24)
Nowy Edytor kodu jednak po świętach
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?