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
SutikkuSutikku (10:03, 8.12.22):
odważny krok, puszczaj testy jednostkowe /s
gnysekgnysek (11:23, 7.12.22):
Zaktualizowałem PHP do 8.0, zgłaszajcie, gdyby coś nie działało
gnysekgnysek (10:57, 7.12.22):
2023.1
IgnatusIgnatus (8:58, 7.12.22):
Ciekawe o jaką wersję mogło chodzić
IgnatusIgnatus (8:58, 7.12.22):
No przynajmniej jakoś próbuje z tego wybrnąć XD zapodaj.net/images/2543c3a6eea62.png
IgnatusIgnatus (8:50, 7.12.22):
XD lol
gnysekgnysek (23:06, 6.12.22):
Nie ma takiej funkcji w GML, właśnie o to chodzi.
IgnatusIgnatus (20:36, 6.12.22):
Nie wiem o co chodzi więc wpisałem po prostu XD zapodaj.net/images/8bfcb19e4a9c5.png
gnysekgnysek (10:33, 6.12.22):
Zapytaj o shuffle na tablicy i zobaczysz, że różnie działa
IgnatusIgnatus (20:46, 5.12.22):
Jestem w szoku jak sprawnie to działa i że umie w GML XD
gnysekgnysek (16:09, 5.12.22):
już wiem, ChatGPT
gnysekgnysek (14:59, 5.12.22):
Co to za AI ?
SutikkuSutikku (7:52, 5.12.22):
bardzo dobra technika, ładne ślaczki wychodzą z pocisków, można się poczuć jak malarz
IgnatusIgnatus (10:13, 4.12.22):
IgnatusIgnatus (9:54, 4.12.22):
Panowie co ta AI kombinuje zapodaj.net/images/e03bea5a7b003.png
gnysekgnysek (8:55, 29.11.22):
Oraz opis jak zrobić to dla gier stworzonych w GameMakerze, ale wtedy trzeba używać YYC: help.yoyogames.com/.../360006506718-How-to-make-Windows-YYC-games-prefer-the-AMD-Nvidia-GPU-in-PCs-with-multiple-graphics-chips
gnysekgnysek (8:54, 29.11.22):
Tu jest info jak to wymusić bez wyłączania w BIOSie, ale nadal to mocno okrętna droga: windowsdigitals.com/force-chrome-firefox-game-to-use-nvidia-gpu-integrated-graphics
gnysekgnysek (8:52, 29.11.22):
No ale nie napiszesz graczom np. na steamowej stronie gry "wyłączcie zintegrowane GPU"
I am LordI am Lord (14:31, 27.11.22):
Ja tak miałem na laptopie gdzie były 2 różne procesory GPU. Wyłączyłem ten słabszy i przez to wymusiłem aby każda apka korzystała z lepszego
I am LordI am Lord (14:30, 27.11.22):
w ustawieniach zasilania powinno się dać wymusić globalnie
I am LordI am Lord (14:29, 27.11.22):
Wyłącz integre w windowsie
gnysekgnysek (16:10, 14.11.22):
Można to jakoś wymusić niby, ale się aż tak nie zagłębiałem. Generalnie dziwne z tymi filtrami, bo jak mówię - u mnie na intelu działają, bez użycia GeForce
AdriannAdriann (12:09, 14.11.22):
To jak się robi takie rzeczy z gotowymi grami? Kompletnie się nie znam na tych sprzętowych sprawach
gnysekgnysek (10:54, 14.11.22):
Chyba, ze wyłączysz dedyka całkiem.
gnysekgnysek (10:53, 14.11.22):
Z gotową grą się da, ale z odpalaną z GM słabo.
AdriannAdriann (15:23, 13.11.22):
jest to możliwe, rozumiem że z tym nie da się nic zrobić
gnysekgnysek (14:58, 13.11.22):
GM odpala się na zintegrowanym GPU, może to przez to?
AdriannAdriann (20:57, 11.11.22):
Tak, zrobiłem więcej testów, sama obecność warstwy sprawia że fpsy spadają gwałtowne. Niezależnie od efektu. No i jest to problem głównie u mnie, u innych działa to normalnie
AdriannAdriann (20:13, 11.11.22):
o kurłacz, mam spadki fpsów przez dodawanie jakichkolwiek wbudowanych efektów, jaka może być tego przyczyna? :o
gnysekgnysek (9:47, 10.11.22):
Dwa nowe arty dodałem, co oznacza, że aż 5 w ciągu miesiąca zrobiłem - zdecydowany rekord wszechczasów
SutikkuSutikku (18:20, 1.11.22):
śliczne serduszka
gnysekgnysek (1:22, 1.11.22):
GMCLAN
gnysekgnysek (0:40, 30.10.22):
Od dziś nowa zasada - kto wpadnie na Meetup i chce dostaje moda Witamy Nikasa ;}
gnysekgnysek (14:40, 27.10.22):
Przypominam, że widzimy się w sobotę! meetup.gmclan.org
gnysekgnysek (10:47, 26.10.22):
pewnie przez skalowanie, nie wiem czego uzywa, ale pokombinowałbym z mouse_x, device_mouse_get_x itp. - wyrzuć na ekran co zwracają
IgnatusIgnatus (8:45, 26.10.22):
Tego z linku właśnie próbuje od tygodnia i za nic nie potrafię wykorzystać samodzielnie. Użyłem też tego marketplace.yoyogames.com/.../virtual-keyboard-pro I działa ale na dotyk klawisze działają inaczej niż powinny (te na środku ok ale wszystko po bokach wciska się zupełnie inaczej niż powinno)
gnysekgnysek (23:46, 25.10.22):
Nie, w sensie naprawdę narysować
IgnatusIgnatus (22:49, 25.10.22):
W sensie 'virtual keyboard' ?
gnysekgnysek (22:27, 25.10.22):
narysować klawiaturę na ekranie ?
IgnatusIgnatus (20:27, 25.10.22):
Hello! Macie może jakiś patent na wpisywanie tekstu w HTML z telefonu?
SutikkuSutikku (20:32, 17.10.22):
w sumie nie mam zajęć na studiach, mozebym tak wpadł
gnysekgnysek (18:42, 17.10.22):
Pamiętajcie o meetup.gamemaker.pl
gnysekgnysek (17:19, 17.10.22):
Nie warto. Nie da się wtedy logować "po staremu", trzeba przez SSO.
I am LordI am Lord (21:52, 16.10.22):
Warto konwertować konto na yoyogames na to opery?
AdriannAdriann (20:16, 12.10.22):
podłączenie jest proste, jedyne co pamiętam było upierdliwe to robienie czegoś na zasadzie press key na gałkach pada
gnysekgnysek (15:26, 12.10.22):
I jeszcze jeden prosty tutorial o podłączaniu pada w grze: gmclan.org/index.php?artykul=100
AdriannAdriann (8:40, 11.10.22):
Jesteś odpowiedzią na moje potrzeby
gnysekgnysek (1:19, 11.10.22):
Nowy art i przykład: gmclan.org/index.php?czytajart=99
Ankieta
» Kiedy wyjdzie GameMaker (Studio) 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.05943 sekund ] [ Liczba zapytań MySQL: 13 ]