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
Akademia GMCLANu
Kategorie bazy artykułów
Artykuły -> Game Maker -> Kursy dla początkujących
Treść artykułu
Alarmy i Timeline
autor: Mimek (27.12.08)
Alarmy to bardzo przydatne funkcje Game Makera, pozwalają nam wykonać akcję po określonym czasie, przydają się nam w różnych sytuacjach, np. odliczanie do startu, odliczanie czasu przeładowania broni etc.. Oczywiście nie będziemy tutaj operować na sekundach, a na krokach bo to właśnie jednostka czasowa w Game Makerze. Jeśli chcemy operować na sekundach musimy zauważyć pewne prawidłowości:
kod:
1 sekunda = 1 * room_speed;
Tak więc 1 sekunda w GM to dokładnie tyle kroków co prędkość rooma ( room_speed ). Jeśli chcemy ustawić alarm na 5 sekund to:
kod:
5 sekund = 5 * room_speed;
Tak więc odpowiednio jeśli chcemy stawić na N sekund to:
kod:
N sekund = N * room_speed;
I tak dalej. Alarmy inicjujemy w dowolnym evencie:
gml:
alarm[0] = 5 * room_speed; //Ustawia alarm 0 na 5 sekund
Kod który zostanie wykonany umieszczamy w evencie Alarm N, tutaj odpowiednio w Alarm 0.
Przejrzyj też przykłady, aby zrozumieć zasadę działania alarmów.

Time line'y są trochę podobne do alarmów, lecz w alarmie jest wykonywana jedna akcja po skończeniu odliczenia, a zaś w time line'ach w określonej kolejności może być wykonane wiele akcji w różnych odstępach czasowych. Time line'y są trochę podobne do path'ów, lecz path'e to przejścia między kolejnymi punktami ustawionymi w określonych odstępach odległościowych. Te odstępy można porównać do odstępów czasowych w time line'ach. W path'u obiekt będzie kolejno przechodził przez punkty, zaś w time line będzie odliczał czas między kolejnymi momentami i wykonywał akcje które są do nich przypisane.
Timeline dodajemy w menu Add > Add Time Line.
Timeline'y inicjujemy w dowolnym evencie za pomocą takiego kodu:
gml:
timeline_index = nazwa_timeline;
Pozycję timeline'a zmienia się w taki sposób:
gml:
timeline_postion = N;
Z time line'ami zapoznasz się w przykładach dołączonych do kursu.

Przyjrzyjmy się Timeline'om z bliska, kolejno wykonujemy akcje:
- File > Advenced Mode, włączamy "Advenced Mode" jeśli jeszcze tego nie zrobiliśmy.
- Add > Add Timeline, dodajemy nowy time line.

Pojawi się nowe okno z kilkoma klawiszami:
- Add, dodaje moment na time line, moment wykonany w określonym kroku. Po tym możesz skorzystać z kodu lub klocków, aby ustalić jakie akcje mają zostać wykonane w danym momencie.
- Change, zmienia dany moment na inny.
- Delete, usuwa dany moment.
- Duplicate, duplikuje dany moment.
- Shift, przesuwa wybrane momenty o podaną wartość.
- Merge, łączy wybrane momenty w inny jeden.
- Clear, czyści wszystkie momenty.

Obydwie te funkcje są bardzo przydatne. Coraz więcej pytań, których rozwiązaniem jest wykorzystanie alarmów bądź timeline'nów pojawia się na naszym forum, a przecież one są tak proste!

Wróćmy jeszcze na chwilę do alarmów. Gdy alarm zainicjujemy w evencie Step w taki sposób:
gml:
alarm[0] = room_speed * 20;
To NIE zostanie on nigdy wykonany ponieważ licznik będzie ustawiany od nowa co 1 krok. Możemy w takim wypadku użyć warunku if:
gml:
if( alarm[0] == 0 )
{
alarm[0] = room_speed * 20;
}
Jest to też pokazane w przykładzie 3.

Przykłady do tego kursu znajdziesz tutaj.
głosów: 12 | ocena: 8.17 oceń zasób | dodał: Mimek
Komentarze
stron: 1

1


av

Pental Stary (20:58, 27.12.2008)

Mało tego niestety, było dać więcej przykładów zastosowań i ciekawostek . Jak na początek - ok.

av

I am Lord (21:50, 27.12.2008)

Nie napisałeś co trzeba zrobić jak by jakiś newbie dał alarm w step.

av

PsichiX (22:10, 27.12.2008)

timeline'y mimku ;P

av

Lechu4444 (23:05, 27.12.2008)

czegoś się tam zawsze dowiedziałem

av

Paqoo (23:08, 27.12.2008)

Same podstawy, ale na pewno są tacy którzy tego nie wiedzieli :> I są dwie możliwości używania timingu w grze Ładne przykłady.

av

Lechu4444 (0:28, 28.12.2008)

ha słyszałem że za pomocą timelines da się zrobić loading i myślałem że to tutaj będzie pokazane ale i tak się domyślam jak to teraz zrobić tylko wersja PRO jest potrzebna.

av

Marmot (1:12, 28.12.2008)

Taka mała rada ode mnie - treść z PDF mogłeś wkleić na stronę i w pliku dać tylko przykłady. Nie każdemu chce się ściągać artykuł, oraz nie każdy ma akurat Adobe Readera. Poza tym, dałeś sam tekst. Wszystko to można bez problemu wpisać w Panelu Redaktorskim .
A sam artykuł nie jest zły. Przyznam, że trochę Timelines niedokładnie wytłumaczyłeś, bo prawdę mówiąc nigdy ich nie używałem, a po lekturze Twojego artykułu nadal nie rozumiem celu i zasady ich działania.

av

Pental Stary (8:30, 28.12.2008)

Marmot, timelines to kawałki kodów wykonujące się w podanych przez ciebie odstępach czasowych . Coś jak pathy, tylko zamiast odległości (w terenie?) jest odległość czasu, a każdy punkt to wykonywany kod . Kumasz?

av

Mimek (13:21, 28.12.2008)

Dobra Marmot - na twoja prośbę zrobiłem tutaj Arta i przykłady są w paczce, ale poprawi ktoś, żeby to wyglądało ładnie i przejrzyście, bo ja już nie umiem...

av

Marmot (12:01, 30.12.2008)

Pental, ;p . Nie musiałeś się wysilać, bo jak coś to bym do dokumentacji zajrzał .

av

baca (17:32, 27.05.2011)

Jeśli gra zamuli to już ci nie ustali dokładnego czasu.
Można to inaczej zrobić:
W Create:
tstart = current_time;
w Step:
if(current_time- tstart>1000)
{
tstart = current_time;
}

1000 = 1s;
10000 = 10s;

av

TheMarcQ (19:54, 27.05.2011)

tylko pytanie: po co?

av

baca (20:11, 27.05.2011)

Dużo jest powodów dla których warto ten sposób stosować.

stron: 1

1



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

Nie masz konta? Zarejestruj się
Użytkownicy on-line
2 użytkownik(ów) aktywny(ch) przez ostatnie 15 minut:
gości: 1, userów: 1, ukrytych: 0
Uzjel
Użytkownicy na czacie discord
ANtY (11:09, 23.07.18):
grubo sie robi
I am Lord (9:53, 23.07.18):
Też nie znam jej, max chyba jesteś jedyny na tym forum który zna
Wojo (9:40, 23.07.18):
Albo to że na forum udzielam się tylko ja i jakiś debil. Mało mnie to pociesza
Wojo (9:37, 23.07.18):
To nie ja niepotrzebnie kręcę gownoburze a jak zwykle jestem temu winny. Wiesz co ? Wbite w to mam. Zaczynacie się zachowywać jak administracja elektrody. A później wielkie zdziwienie że nowi użytkownicy to dwóch małolatów...
Wojo (9:35, 23.07.18):
Co masz na myśli?
gnysek (9:25, 23.07.18):
@Wojo się prosisz o jakąś blokadę tak btw.
gnysek (9:25, 23.07.18):
weźcie se takie rzeczy załatwiajcie na messengerze czy gdzieś
Wojo (19:48, 21.07.18):
stolen from america, brought to africa...
Wojo (19:31, 21.07.18):
od teraz kto poruszy jej temat na gmclanie to ma małego
exp (19:11, 21.07.18):
no np. wy teraz robicie, bo ja nie wiedziałem, kto to jest, a teraz wiem
Wojo (19:06, 21.07.18):
to jest po prostu groupie jakich wiele, a ludzie robią niepotrzebny szum w okół niej
I am vader (18:02, 21.07.18):
Na ten planecie nie ma miejsca dla takich idiotów jak Ty.
I am vader (18:02, 21.07.18):
Zrób ludziom przysługę i won z tego forum bo tylko problemy innym robisz. Jesteś najgorszym typem ignoranta, na zasadzie "jeśli ja coś wiem każdy musi wiedzieć bo inaczej jest głupkiem. Jak mnie coś interesuje to musi obchodzić wszyskich a jak kogoś nie obchodzi to jest bucem".
I am vader (18:01, 21.07.18):
A za te życzenia śmierci to bym Ci prz......lił, bezmózgi, tryglodycki bucu śmieciowaty.
I am vader (18:00, 21.07.18):
MAx, może obudź mózg, bo to że na liście rzeczy które mam gdzieś napisałem "polska muzyka" nie znaczy że ona musi być muzykiem. Przeczytaj co napisałem jeszcze raz i nie pierdziel bo zatruwasz powietrze głupotą.
MaxGaming (16:47, 21.07.18):
Vader masz wszystko w dupie to idź sobie skocz z jakiegoś mostu
MaxGaming (16:46, 21.07.18):
Ale ona nie jest muzykiem XD właściwie jest nikim ale ma fejm ale nie chcę mi się tego tłumaczyć xd jesteś trochę bucowaty, bo wystarczyło wpisać w neta i byś po chwili zrozumiał xd tak btw drażnią mnie ludzie którzy mają wszystko w dupie. W sensie niech sobie robią co chcą ale jak w moim towarzystwie się tak zachowują to marzę żeby uznali żeby zniknęli i nie psuli atmosfery
Wojo (13:42, 21.07.18):
czyli potwierdzenie moich słów
I am vader (13:07, 21.07.18):
A to robi z tego sprawę Polskiego internetu, który, jakbyś nie zauważył, też mam w dupie.
I am vader (13:05, 21.07.18):
Bo ja wiem, Martyna Linkiewicz brzmi, ale tylko tak ciut ciut, ale może to tylko moje wrażenie, mimo to jednak to powiem: Martyna Linkiewicz brzmi jak POLSKIE IMIE.
Wojo (9:24, 21.07.18):
Mam w dupie polską scenę a warszawską na czele
MaxGaming (1:21, 21.07.18):
Tylko powiem że wgl tu nie chodziło o muzykę a tym bardziej o polską xd
MaxGaming (1:21, 21.07.18):
Hahaha po prostu nie ważne XD
I am vader (1:14, 21.07.18):
Mam w dupie polską scenę, polski internet i polską muzykę, nie wiem kim jest martyna Linkiewicz i nie chcę wiedziec i mi z tym dobrze.
MaxGaming (1:01, 21.07.18):
Poczytaj dlaczego zdobyła fejm. Niestety nie mogę tego napisać na portalu gdzie są dzieci...
MaxGaming (1:01, 21.07.18):
Że w 2018 roku trzeba jeszcze takie zaetty tłumaczyć xd
MaxGaming (1:00, 21.07.18):
Ale nie chodzi o hip hop tylko o Martynę Linkiewicz xd nie musisz słuchać rapu żeby znać tą historię xd
I am vader (0:43, 21.07.18):
Nie wiem co hip hop(??) ma do tego
MaxGaming (0:28, 21.07.18):
A dla niektórych od koncertu Rae Sremmurd
MaxGaming (0:26, 21.07.18):
Niestety ale bycie celebrytom zaczyna się od 5 lajków...
I am vader (23:44, 20.07.18):
4 lajki podglądu który wrzuciłem, czy to już sława?
Wojo (10:13, 20.07.18):
Prawda:p
MaxGaming (4:49, 20.07.18):
Bo te egzaminy są śmieszne jak to całe technikum XD
I am vader (1:08, 20.07.18):
Papierki są do rozpałki
Sutikku (0:07, 20.07.18):
głupie rozwiązanie, czemu nie pozwolić każdemu kto chce przystąpić? Strach przed tym, że egzamin wcale nie potwierdza kwalifikacji do zawodu? To może pora coś zmienić
Wojo (23:36, 19.07.18):
2 lata w zawodzie bądź w szkole poliecalnej z tego co mi wiadomo
Sutikku (23:34, 19.07.18):
trochę śmieszne gdybym miał zdane egzaminy zawodowe, a chodziłbym do szkoły na lekcje które mają mnie do nich przygotować
Sutikku (23:32, 19.07.18):
takie pytanie mam, czy hipotetycznie można podejść do egzaminów zawodowych nie kończąc szkoły? W sensie, jak jestem w 2 technikum czy mógłbym sam się przygotować i podejść do egzaminu w jakiejś instytucji w tracie kiedy ostatnie klasy technikum będą je pisać
Wojo (21:45, 19.07.18):
eigentlich, masz rację
I am vader (19:17, 19.07.18):
Jest różnica między podmienieniem całego zdania, a podmianą w trącenia jak "I mean" lub "Actually".
Wojo (16:45, 19.07.18):
Oh Wojo stop being so mean...
Wojo (16:44, 19.07.18):
Ja znaju kak pa polski gawarit, lecz podobają mi się takie wtrącenia z obcych języków
I am vader (12:48, 19.07.18):
I mean, wiedzialem ze ds_mapy tak robią, ale zapomniałem o tym gdy pisałem ten kawałek kodu.
gnysek (10:07, 19.07.18):
tak, ds_mapy od jsonów usuwają sie same. Można też zrobić tak z własnymi chyba, ze się dowiązane usuwają, za pomocą ds_list_mark_as_list / ds_list_mark_as_map
I am vader (22:31, 18.07.18):
Głupi, prostacki błąd, ale głęboko w kodzie, więc nie zwróciłem na to uwagi wcześniej
I am vader (22:23, 18.07.18):
Jakby kogos interesowalo skad moj problem z ds_listami, to dlatego ze uzywalem tych ds_list do robienia JSON, ale jak juz nie potrzebowalem tymczasowej ds_mapy(ktora byla tylko po to aby zbudowac JSON) to usuwalem te ds_mape a to usuwalo z kolei wszystkie powiazane ds_listy, a tych nie chcialem usuwac.
MaxGaming (20:39, 17.07.18):
Zamknięty system operacyjny...
Wojo (19:21, 17.07.18):
sklep play jest czynny tylko do godziny 17 i w niedziele handlowe...
MaxGaming (17:48, 17.07.18):
Sklep play mógłby też istnieć na darmowym/płatnym androidzie który byłby zamknięty
MaxGaming (17:48, 17.07.18):
Nie mogą pobierać opłat od producentów w obecnej formie licencyjnej.
Ankieta
» Jakie kursy najchętniej widziałbyś na stronie ?
GM Studio
GM Studio 2
Godot
Construct

GMCLAN to serwis o programie Game Maker i nie tylko.
[ Polityka prywatności ]
Copyright © 2002-2018. GMCLAN.ORG
Wszelkie prawa zastrzeżone. Kopiowanie materiałów bez zgody redakcji zabronione!
© 2002-2017 Ranmus (ranmus.pl), © 2017-2018 {=|=} fable_inside();

[ Czas generowania strony: 0.02249 sekund ] [ Liczba zapytań MySQL: 13 ]