Fastbar
Powrót do strony głównej
Trzymaj pliki na gmclan.org!
Game Maker w pytaniach i odpowiedziach!
Polska dokumentacja
Tabela wyników ligi 24
Pobierz GM
Kategorie bazy artykułów
Artykuły -> Game Maker -> Kursy GML
Treść artykułu
Triggery (wyzwalacze) w GM8
autor: gnysek (3.07.09)
Wymaga wersji GM8 PRO do działania.


Triggery są niczym innym, jak kolejnym zdarzeniem obok Create, Alarm czy Step, które może nastąpić w naszym obiekcie. Tak naprawdę, jest to zwykły warunek który można by dać w step, ale jeżeli kilka różnych obiektów ma te same warunki, to można by z nich zrobić osobne zdarzenie.

Za przykład niech posłuży energia przeciwników. Załóżmy, że mamy trzy jednostki: objRycerz, objLucznik, objCzarownik. Każdy z tych obiektów posiada zmienną energia = 100;. Gdy energia spada poniżej zera, to obiekt powinien zostać zniszczony.

Dodajemy zatem nowy Trigger (Add Event > Trigger > Add/Modify Triggers). W pole Name wpisujemy Koniec energii. Teraz wypełniamy pole Condition. Tutaj wpiszemy warunek, który musi zaistnieć, aby nasz trigger zadziałał. Konieczne jest, aby wystąpiło słowo return zwracające wartość true lub false. Nasz kod będzie wyglądał tak:
gml:
if energia<1 then return true else return false;

Teraz gdy energia będzie wynosiła 0 i mniej, nastąpi wywołanie naszego triggera.
Można też zapisać krócej:
gml:
return energia<1;

Pozostałe dwa pola edycji omówię dalej, teraz je pomijamy i zatwierdzamy zmiany.

Ostatnia rzecz, to dodanie go do listy zdarzeń. Wybieramy Add Event > Trigger > Koniec Energii, i przeciągamy klocek Destroy Instance, lub wpisujemy ręcznie kod.

Teraz możemy nasz wyzwalacz dodawać do wszystkich obiektów, w których będzie zmienna energia aby sprawdzać, czy można już zniszczyć obiekt czy nie.


Pozostałe opcje

W formularzu edycji Triggera są jeszcze dwie opcje.
Moment of checking oznacza, kiedy warunek triggera ma być spełniony. Działa to tak samo jak Begin Step, Normal Step i End of Step z listy zdarzeń.

Constant name - nazwa stałej (nie moze być zdefiniowana w oknie Constans), którą w kodzie można użyć do sprawdzenia, czy trigger zaistniał. Dla przykładu ustawiając za constans nie_ma_energii, w zdarzeniu step możemy sprawdzić wystąpienie triggera tak:
gml:
if nie_ma_energii then instance_destroy();

Efekt będzie taki sam, jak dodanie zdarzenia Trigger Koniec energii omówionego powyżej.
głosów: 9 | ocena: 8.00 oceń zasób | dodał: gnysek
Komentarze
stron: 21

2


av

Platyna (19:23, 5.07.2009)

Coś całkowicie zbędnego moim zdaniem. Chociaż może początkującym to coś ułatwi pracę.
A artykuł jak artykuł. Jest ok. W sumie nie ma co tu opisywać za bardzo. Nie miałeś gnysiu zbyt dużego pola do popisu. Bo to zbędny bajer.

av

gnysek (22:05, 5.07.2009)

Nom i myślę, że temat w sumie wyczerpałem.

stron: 21

2



Dodaj komentarz:
Treść:
Menu
Panel użytkownika
Jesteś niezalogowany!

Nie masz konta? Zarejestruj się
Użytkownicy on-line
112 użytkownik(ów) aktywny(ch) przez ostatnie 15 minut:
gości: 105, userów: 7, ukrytych: 0
♔ I am Lord ♔ , PatrykPlayingPOLSKA, Chell, Threef, Nikas, ANtY, ALT

0 użytkownik(ów) na gmczacie i 0 bot(ów)
Shoutbox
Chell (18:19, 27.03.17):
bez twardych uczuc, musisz miec sporo na glowie
Nikas (18:15, 27.03.17):
Sorry, zamuliłem.
Chell (18:12, 27.03.17):
ja rozumiem ze sie nie zalapalem do testow nighthawxa, ale chociaz jakas wiadomosc "sory czel" bylaby spoko
ANtY (8:48, 27.03.17):
dziś
Wojo (23:41, 26.03.17):
kiedy nowy zwiastun worlocksów ?
ANtY (13:59, 26.03.17):
latka leca
Nikas (3:27, 26.03.17):
Dalej jestem taki sam, tylko czas leci i kończę kolejną giereczkę.
Wojo (18:54, 25.03.17):
pamiętam te czasy kiedy na chatach siedziałeś z kartonem na twarzy i wrzucałeś foty z browcem na foto-galerie ehh....
I am Lord (18:47, 25.03.17):
jeszcze kilka lat temu
I am Lord (18:46, 25.03.17):
No a wydawało się że to tylko taki śmieszek jest
Wojo (18:40, 25.03.17):
kurwa nikas nigdy nie przybuszcałbym, że wydasz jakąś grę a tu jeb dwie pełnoprawne produkcje. Gratki
ANtY (12:46, 24.03.17):
nope
Adriann (12:36, 24.03.17):
Wiadomo już kiedy dokładnie zamykają Greenlighta?
gnysek (10:58, 24.03.17):
To dość dziwne, ale IDE GMS2 na maku zdaje się praktycznie bezproblemowo działać... to niepodobne do YYG
Chell (19:41, 22.03.17):
tez chetnie potestuje
owyn (14:12, 22.03.17):
Zrob aby tura zaczela sie w piatek to z checia cos zrobie
I am Lord (22:09, 21.03.17):
Co już chcecie kolejną turę?
Nikas (21:14, 21.03.17):
Nie fikaj za bardzo farfoclu!!!!
Threef (20:58, 21.03.17):
Jakieś bany trzeba dać? Bo mam dobry humor.
Threef (20:58, 21.03.17):
Oh damn! 2 tygodnie bez PC.
Wojo (20:50, 21.03.17):
za 12 godain
owyn (19:20, 21.03.17):
A kiedy kolejna tura ligi24???
Wojo (18:08, 21.03.17):
No to powodzenia tak czy inaczej
Gibki Kaktus (17:41, 21.03.17):
No ja mogę ograć XD
Nikas (16:28, 21.03.17):
Mam już grupkę testerów zawodowych z QA z mojej byłej pracy. Tutaj piszę, bo zawsze tu piszę.
Wojo (15:11, 21.03.17):
jak coś to też mogę pyknąć
Wojo (15:11, 21.03.17):
w sumie potrzebowałbyś więcej niż jednego typka z gmclanu do testów
Adriann (14:05, 21.03.17):
Ja chętnie przetestuję całość!
Ignatus (14:05, 21.03.17):
Stwierdzam własnie że nienawidze GM.Po raz n-ty w ostatnim miesiącu robie cos w grze i nagle przestaje dzialac cos co nie ma z tym żadnego zwiazku i robilem to miesiac temu.Zmieniam sobie parametry broni w grze i nagle BAM! Postac non stop kreci sie sama w kolko i nie wiem jak to zmienic.Piekny crap
Nikas (12:38, 21.03.17):
Nic nie płacę bo to są testy organizowane przeze mnie a nie AAG. Będzie miejsce w creditsach co może posłużyć jako normalny wpis do CV przy szukaniu pracy w QA. Chodzi tylko o ogranie gry, spisaniu odczuć (muszę zbalansować poziom trudności z samemu ciężko).
Gibki Kaktus (12:31, 21.03.17):
Ile płacisz? Jak >=0, to mogę ograć
Wojo (12:19, 21.03.17):
a co miałbym ci np tam spisać jakbym był chętny ?
Nikas (12:01, 21.03.17):
Szukam osoby chętnej na przetestowanie najthołxa. Tylko mówię tutaj o ograniu gry i spisaniu raportu, mam kluczyk do Steama. Ktoś chętny?
Nikas (23:14, 20.03.17):
Ale muszę przyznać, że dobra odpowiedź fervi. Szanuję.
Nikas (23:13, 20.03.17):
Tak, zobaczyłem tylko jakiś śmieszny cytat o wolności który wysłałeś i wyszedłem. xDDD ekstra gamedev
Fervi  (21:48, 20.03.17):
A co, dołączyłeś?
Nikas (11:30, 20.03.17):
Pewnie tam niezła stulejada. xDDD
Fervi  (20:39, 19.03.17):
#freegamer na freenode (dla wolnościowców, co zniechęca wiele osób )
owyn (14:05, 19.03.17):
jest jakis kanal irc nt. game-dev gdzie przesiadujecie?
Adriann (20:50, 18.03.17):
28-30 kwietnia
Wojo (20:34, 18.03.17):
a kiedy są te pyrkony ?
Gibki Kaktus (20:32, 18.03.17):
Jakim piwkiem, walimy wódę i moje urodziny oblewamy, każdy kto będzie na Pyrkonie!
I am Lord (19:55, 18.03.17):
Turmoil jest zrobiony w GMie :o
Adriann (19:41, 18.03.17):
to się skończy piwkiem, i to nie jednym:3
Ignatus (19:31, 18.03.17):
ja
Gibki Kaktus (19:25, 18.03.17):
Ja
ANtY (17:17, 18.03.17):
ja
Adriann (16:47, 18.03.17):
Miśki! Kto z was jedzie na Pyrkon?
Ankieta
» Czy jesteś szczery odpowiadając w ankietach w Internecie?
Tak
Nie

GMCLAN to serwis o programie Game Maker i nie tylko.
Copyright © 2002-2017. GMCLAN.ORG
Wszelkie prawa zastrzeżone. Kopiowanie materiałów bez zgody redakcji zabronione!

[ Czas generowania strony: 0.01299 sekund ] [ Liczba zapytań MySQL: 16 ]

thecrims Otserv List Otserv LyricsTown Harry Potter Serwery Gier
dev nodev