Nasze strony: gmclan.org gameonly.pl ps-plus.pl gameswithgold.pl n-switch.pl hmt.pl
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) | czas czytania: 2 minuty, 54 sekund
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:kod1 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:kod5 sekund = 5 * room_speed;Tak więc odpowiednio jeśli chcemy stawić na N sekund to:kodN sekund = N * room_speed;I tak dalej. Alarmy inicjujemy w dowolnym evencie:GMLalarm[0] = 5 * room_speed; //Ustawia alarm 0 na 5 sekundKod 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:GMLtimeline_index = nazwa_timeline;Pozycję timeline'a zmienia się w taki sposób:GMLtimeline_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:GMLalarm[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:
GMLif( 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
1 użytkownik(ów) aktywny(ch) przez ostatnie 15 minut:
gości: 1, userów: 0, ukrytych: 0
Użytkownicy na czacie discord
Shoutbox
UzjelUzjel (20:00, 2.07.22):
Zrobiłem test i działa naprawdę spoko, można wydać coś małego na GXa
gnysekgnysek (19:40, 30.06.22):
Polecam newsa o multiplayerze, fajny przykład jak robić sterowanie w grze w betach GM 2022.6+ (i zapewne w GM 2022.8 już normalnie)
ChellChell (11:14, 29.06.22):
słyszałem już o ludziach biorących kredyty na drugą połówkę, ale o subskrybujących GMa na ich kartę pierwsze słyszę
gnysekgnysek (9:14, 28.06.22):
A nie masz jakiegoś 3D secure czy coś, którego może Stripe nie obsługuje?
IgnatusIgnatus (20:14, 26.06.22):
Hmm coś nie tak z kartą (co dziwne bo są mam na niej inne, działające subskrypcje), na żony zadziałało XD
IgnatusIgnatus (11:41, 26.06.22):
Hmm, Jak mam zapłacić za subskrypcję GM? Polska nie jest obsługiwana? Odrzuca kartę i Gpay..
ThreefThreef (19:08, 25.06.22):
Zmienna keyboard_string zawiera wszystkie klawisze jakie wciśnięto. Możesz ją sobie wyzerować przed wpisywaniem keyboard_string = ""
IgnatusIgnatus (18:03, 25.06.22):
Jak w najprostszy sposób zapisać wpisany z klawiatury tekst jako zmienną którą mogę potem z czymś porównać?
IgnatusIgnatus (21:42, 24.06.22):
Tak. Kwestia jest taka że poza GM nie umiem totalnie nic (a GM używałem 5 lat temu). Może ktoś wie jak się do tego zabrać w GM (w sensie tutoriali lub assetów do kupienia)
ChellChell (17:13, 24.06.22):
podejrzewam że dużo prościej byłoby Ci zrobić to po webowo
ChellChell (17:13, 24.06.22):
hej 👋 dobrze rozumiem że chcesz robić prostą aplikację przeglądarkową w GM?
IgnatusIgnatus (21:39, 23.06.22):
Hello! Mam małą misję. Potrzebuje stworzyć apkę na www która będzie otwierała obrazki po wpisaniu ich dwu-członowej nazwy. To będzie trudne w GM? z 5 lat go nie ruszałem ;p
AdriannAdriann (19:34, 21.06.22):
o, naprawili
gnysekgnysek (16:00, 21.06.22):
Help > Report bug Samo sie nie naprawi Ale dzisiejsza beta ma jakiś fix na Spine.
AdriannAdriann (17:50, 20.06.22):
w sumie nawet nie sprawdzałem gdzie się to zgłasza :o
gnysekgnysek (13:54, 20.06.22):
A zgłoszone?
AdriannAdriann (22:08, 14.06.22):
Ech! Spine dalej nie naprawione :<
HunterHunter (13:36, 8.06.22):
Pytanie do starych wyjadaczy jest jeszcze gdzieś dostępna gra MAGI od TeeGee ?
gnysekgnysek (11:25, 8.06.22):
Ja pamiętam, jak była funkcja draw_image_alpha i po 5-6 grafikach FPS spadał.
expexp (18:27, 7.06.22):
i uruchamiała się jedną sekundę
expexp (18:25, 7.06.22):
łezka w oku się kręci jak wspominam czasy kiedy nowa wersja GM wychodziła raz na x lat i było zero problemów
AdriannAdriann (14:32, 4.06.22):
No i gdzie te aktualizacje:| Popsuli i zostawili
gnysekgnysek (12:24, 30.05.22):
A mogli wydać we wtorek, to jeszcze byłby nadal maj...
gnysekgnysek (12:24, 30.05.22):
Obstawiam, że kolejny raz między ostatnią betą a wydaniem stabilnym dodali "jeszcze dwa małe fixy" i wszystko się sypnęło. Ze spine to jest potwierdzony już błąd.
BorekBorek (20:32, 27.05.22):
Oczywiście jest weekend, także wywalona kiełbasa Jedynie można wrócić do poprzedniej wersji i cieszyć się, że ta wersja akurat nie była wymyagana np. dla nowszych wersji Google API Już raz mnie tak załatwili...
BorekBorek (20:29, 27.05.22):
Ostatnie stable jest bardziej rozwalone niż beta. Większość użytkowników nie może odpalić swoich projektów po wczorajszym stable Kocham GM Dobrze, że nie robiłem aktualizacji...
AdriannAdriann (11:23, 27.05.22):
I postacie ze spine zaczęły dziwnie się zachowywać(nie ruszałem w nich nic poza aktualizacjami na bieżąco) A dziwnie znaczy grafiki na różnych layerach często się nie przełączają mimo że powinny
AdriannAdriann (11:22, 27.05.22):
Mam wrażenie że coś się popsuło po ostatnich aktualizacjach gma Bardzo często nie działa mi room_restart() tj raz odpalę grę i działa raz nie
gnysekgnysek (22:58, 11.05.22):
ale tam 39dll chyba też dział, tylko trzeba było dodać brakujące argumenty z numerem bufora (bo GMS nie umiał już ustawiać niezdefiniowanych zmiennych na 0).
SutikkuSutikku (18:34, 11.05.22):
tfu, gms w ogóle, nie gms2
SutikkuSutikku (18:34, 11.05.22):
jak nauczyłem się korzystać z 39dll, to gms2 wyszedł o i tyle z moich nauk
gnysekgnysek (23:29, 9.05.22):
Pisałem już, że przekompilowałem 39dll do x64 i działa w GMS2 ?
gnysekgnysek (21:28, 28.04.22):
Pusty WP - 30-40mb ramu na 1 request.
ChellChell (14:25, 27.04.22):
narzeczona troche bardziej oblatana w temacie mi powiedziala co tam moge poinstalowac i na co zwrocic uwage zeby to zabezpieczyc, ale wciaz smiech na sali
ChellChell (14:24, 27.04.22):
stawialem ostatnio jeden landing na wp dla klienta (wykonany przez jakiegos zewnetrznego kontraktora), w tydzien jakies boty pozmienialy podstrony
ChellChell (14:23, 27.04.22):
jasne, ze powinni zaorac - najnowszy WP ma "wsparcie beta" dla php 8 (ktory wyszedl poltora roku temu), gdzie 7.4 nie jest aktywnie wspierany od 4 miesiecy.
gnysekgnysek (12:56, 26.04.22):
Wordpressa powinni zaorać. Dziwię się, że nikt nie zrobił lżejszego odpowiednika.
ChellChell (11:01, 25.04.22):
aa, nawet nie zauwazylem ze to bylo 3 dni temu
AdriannAdriann (10:09, 25.04.22):
Dziękuje ale już kolega mi to ogarnął i wszystko śmiga :3
ChellChell (9:59, 25.04.22):
nie jestem na tyle kompetentny zeby sie zdzwaniac i to tlumaczyc, ale jak mi podrzucisz dostepy to moge Ci dzisiaj wieczorem to postawic
AdriannAdriann (15:39, 23.04.22):
O kuwa, na wishliście codziennie wpadało po +-5 a tu dzisiaj walnęło i zrobiło się 82 z 28!
AdriannAdriann (22:01, 22.04.22):
privie *
AdriannAdriann (22:01, 22.04.22):
Tak, właśnie problem że nie mam się do kogo zwrócić a to sporo informacji, najlepiej byłoby na provie
gnysekgnysek (21:59, 22.04.22):
Ciężko pomóc jak napiszesz "nie działa". Coś musi się dziać. Biała strona, domyślna strona .html na serwerze, itp.
AdriannAdriann (18:58, 22.04.22):
To nie za bardzo moja dziedzina i nie wiem czy powinienem zrobić coś jeszcze żeby odpalił się instalator
AdriannAdriann (18:57, 22.04.22):
Wziąłem masterneta z któego już kiedyś korzystałem. Tylko coś mi nie działa, dawno tego nie robiłem i nie wiem co może być nie tak. Zalogowałem się do serwera ftp wg danych które wysłali i wrzuciłem rozpakowane pliki wordpressa ale strona nie działa
ChellChell (16:23, 22.04.22):
cloudways fajne na wordpressa
gnysekgnysek (20:14, 20.04.22):
Jutro o 17:00 będzie stream o przyszłości GMa, nie wrzucam newsa, bo napiszę podsumowanie pod koniec po fakcie
gnysekgnysek (20:13, 20.04.22):
ja polecam dhosting
Ankieta
» Kiedy wyjdzie GameMaker 3.0?
Q1 2022
Q2 2022
Q3 2022
Q4 2022
2023 albo i później

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

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