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
72 użytkownik(ów) aktywny(ch) przez ostatnie 15 minut:
gości: 66, userów: 6, ukrytych: 0
cysior, Threef, I am Lord, ojapofdjerrol, Uzjel, Nikas

0 użytkownik(ów) na gmczacie i 0 bot(ów)
Shoutbox
Chell (19:52, 21.07.17):
siedze w chacie z jelitowka, elo
Nikas (19:47, 21.07.17):
alkololo
ANtY (18:41, 21.07.17):
PRZYZNAWAĆ SIĘ, NIC NIE UKRYWAĆ
ANtY (18:41, 21.07.17):
NO ELO CO TAM
Wojo (5:23, 20.07.17):
O dzięki, doceniam starania
Danieo (0:13, 20.07.17):
Wszystkiego najlepszego!
Gibki Kaktus (21:02, 19.07.17):
Btw zalogowałem się specjalnie, żeby Ci życzenia złożyć xD
Gibki Kaktus (21:01, 19.07.17):
Najlepszego To Ty tylko o rok starszy ode mnie, ale 2 z przodu, czas umierać :/
Wojo (20:54, 19.07.17):
Nikt w historii gmclanu nie miał tak chyba hucznie obchodzonych urodzin Dzięki wszystkim, którzy przybyli
exp (20:41, 19.07.17):
stoo laat stoo laat niech żyyjee żyyjee naam
Wojo (19:00, 19.07.17):
Hoho dzięki że pamiętacie
Nikas (17:57, 19.07.17):
sto lat sto lat
I am vader (16:30, 19.07.17):
najlepsz
Wojo (8:07, 19.07.17):
Dzięki za pamięć
PatrykPlayingPOLSKA (8:03, 19.07.17):
Najlepszego Woju
Wojo (6:26, 19.07.17):
Się człowiek starzeje
Wojo (6:26, 19.07.17):
O nie to już 20 wiosen.
Wojo (5:42, 19.07.17):
No jak mi żaden balecik w tym czasie nie wypadnie to jestem za
Chell (0:54, 19.07.17):
jak tak wspominamy to moze by jakiegos tinychata rozkrecic na dniach
Nikas (23:40, 18.07.17):
Ciekawe kto ma drugie miejsce w najdłuższym warnlogu na gmc. Szkoda, że już mało warnów leci, głupio tak być na pierwszym miejscu i nie czuć oddechu konkurencji na plecach.
PatrykPlayingPOLSKA (17:32, 18.07.17):
Nie ma głupich postów,są tylko warny
Chell (15:55, 18.07.17):
nie ma głupich pytań, są tylko biedne
nowy_user (15:54, 18.07.17):
a rzeczywiscie, myślałem, że to jest niedozwolone i wyskoczy mi błąd. Sory za głupie pytanie.
Uzjel (15:00, 18.07.17):
Enter?
nowy_user (14:39, 18.07.17):
czy jest mozliwosc w GMS aby przejsc do drugiej linijki danej funkcji ? Czasami uzywam funkcji w ktorej zawartosc jest bardzo długa i lepiej by mi się pracowało, gdyby taka funkcja była rozczłonkowana na 2 linijki, czy da się jednak to zrobić?
Wojo (12:23, 18.07.17):
Ja chyba niedługo się całkowicie od tego oderwe
Wojo (12:22, 18.07.17):
Danieo bo fb jest uproszczony do tego stopnia że nie trzeba myśleć a szata graficzna to tylko jeden obrazek w tle grupy.
Ignatus (11:47, 18.07.17):
Właśnie dotarł.Oryginał,w pełni sprawy.Jakby ktoś szukał to polecam allegro.pl/micr...6816940638.html
Danieo (11:38, 18.07.17):
Sporo for zostało skutecznie wypartych przez grupki na FB. W sumie sam się temu dziwię, bo grupki FB nie pozwalają na tyle rzeczy co fora.
Wojo (11:22, 18.07.17):
Czy boty zaliczają się do elity?
PatrykPlayingPOLSKA (10:47, 18.07.17):
Teraz tylko elita używa forów.
Nikas (10:37, 18.07.17):
Kiedyś to były czasy. Teraz już nie ma czasów.
Wojo (9:02, 18.07.17):
Ja śmiej się śmiej. Ale taka jest prawda.
Chell (6:17, 18.07.17):
racja, banda kretynów, nie to co my w ich wieku
Wojo (6:07, 18.07.17):
Obecne dzieciaki są za głupie żeby znać fora internetowe. Maksymalny horyzont ich mozliwosci to YouTube lub Facebook
Sutikku (23:03, 17.07.17):
a za chwile w ogóle zniknie gimnazjum i będą ósmoklasiści na gmclanie
Sutikku (23:02, 17.07.17):
ej w sumie teraz nawet ja nie jestem z gimbazy <sad>
Danielus (20:41, 17.07.17):
Ja pracuję jako progrmiasta python/c++ i ostatni rok magisterki mi jeszcze został
Chell (20:15, 17.07.17):
sory
PatrykPlayingPOLSKA (19:57, 17.07.17):
@Chell Jak ja w drugiej ti
Wojo (19:38, 17.07.17):
ale ja trochę pracuję w branży informatycznej, kilka osób tez ma troche pojme to zgaduje ze tez cos z tym sa zwiaznai
Wojo (19:37, 17.07.17):
nowy_user nawet nie żartuj, że tutaj są programiści xD GML nawet nie śmierdzi programowaniem
Chell (19:24, 17.07.17):
Nikas (18:48, 17.07.17):
Ktoś tu nawet ostatnio pisał, że poruchał, także tego.
Chell (18:18, 17.07.17):
nawet PatrykPlayingPOLSKA wlasnie wychodzi
I am vader (18:01, 17.07.17):
Poza wojo
I am vader (18:01, 17.07.17):
na gmclanie nie zostal nikt z gimbazy
gnysek (15:39, 17.07.17):
gimbaza nie pracuj jeszcze
nowy_user (15:14, 17.07.17):
Swoją drogą , czy wszyscy gmclanowicze pracują jako programiści(lub w branży internetowej; growej) czy są jakieś wyjątki?
Nikas (13:18, 17.07.17):
Łza w oku to się zaczyna kręcić jak "ci młodsi" z gmclanu piszą, że pracują. xdd czas leci mmm
Ankieta
» Jakiej wersji GameMakera głównie Używasz?
GameMaker: Studio 2
GameMaker: Studio
GameMaker 8.1 i starsze
Żadnej

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.01594 sekund ] [ Liczba zapytań MySQL: 16 ]

thecrims Otserv List Otserv LyricsTown Harry Potter Serwery Gier
dev nodev