Ten artykuł został stworzony dla starszych wersji GameMakera i może nie być aktualny.

Game Maker FAQ

Piątek, 02 Lipca 2004, 10:51
Czas czytania 9 minut, 50 sekund
Zgodne z GM: gm5 gm6 gm7 gm8 gms1
Spis podstawowych zagadnień, prostych technik i przydatnych algorytmów, prowadzony w formie FAQ (pytania i odpowiedzi).
Uwaga! Numeracja pytań może ulec zmianie, więc jeśli trafiłeś tu z jakiegoś starego linku i nie znalazłeś odpowiedniego pytania pod danym numerem, to nie zniechęcaj się i poszukaj go pod innymi numerami.

1. Skąd mogę ściągnąć Game Makera?
Najnowszą wersję programu możesz zawsze znaleźć na jego oficjalnej stronie [URL=yoyogames.com/gamemaker/try]yoyogames.com[/URL].
Starsze wersje znajdziesz w [URL=wiki.yoyogames.com/index.php/Old_Game_Maker_Versions]tym miejscu[/URL].

2. Czy jest polska wersja Game Makera?
Nie, nie ma i w najbliższym czasie raczej nie będzie.

3. Co daje rejestracja Game Makera?
M.in. nowe możliwości edycji spriteów, nowe funkcje (rysowania, dźwięku, gry multiplayerowej), efekty graficzne, a także wiele innych, przydatnych rzeczy. Rejestracja pozwala również pozbyć się bannera Game Makera podczas ładowania gry. [URL=gamemaker.nl/download/regdemo.zip]Tutaj[/URL] możesz ściągnąć przykład ukazujący nowe funkcje.

4. Ile kosztuje rejestracja Game Makera? Jak mogę go zarejestrować?
Rejestracja Game Makera kosztuje 10 Funtów, 15 Euro albo 20 USD. Do zakupu wymagana jest karta kredytowa, lub karta debetowa z aktywną opcją płatności przez internet. Rejestracji można dokonać (również z Polski) pod
[URL=yoyogames.com/gamemaker/buy]tym[/URL] adresem.

5. Gdzie mogę znaleźć jakieś kursy, przykłady, ogólnie rzecz biorąc pomoc dotyczącą programu?
Przede wszystkim w tym serwisie. [URL=gmclan.org/index.php?artykuly=15]Tutaj[/URL] masz kursy, [URL=gmclan.org/index.php?pliki=1]tu[/URL] dużo plików (w tym przykładów - bardzo przydatnych dla początkujących). Możesz również zajrzeć do [URL=gmclan.org/index.php?linki]działu z linkami[/URL], a także na [URL=gamemaker.nl]oficjalną stronę Game Makera[/URL] (głównie działy Games, Tutorials, Resources). W trakcie tworzenia korzystaj z [URL=gmclan.org/index.php?wiki]polskiego tłumaczenia helpa[/URL]. Gdy nie znajdziesz rozwiązania swojego problemu (najpierw sprawdź wszystkie podane źródła, a także poszperaj w tym FAQu), to próbuj na [URL=forum.gmclan.org]naszym forum[/URL] - z pewnością ktoś ci pomoże.

6. Co to jest GML?
Jest to Game Maker Language - wbudowany język Game Makera, którym posługujemy się pisząc skrypty itp. Warto się na niego przerzucić, bo daje lepsze efekty niż tzw. "klocki". Jeśli trudno ci się w nim odnaleźć, to czytaj helpa w GMie, [URL=gmclan.org/index.php?czytajart=34]kurs GML dla początkujących[/URL] autorstwa Marmota , a także [URL=gmclan.org/index.php?artykuly=17]inne kursy GMLa[/URL] w naszym serwisie. Pomóc ci może również [URL=gmclan.org/index.php?pliki=2]Action Decoder[/URL].

7. Jak zapisać grę tak, aby mogli ją odczytać ludzie, którzy nie mają GMa (w pliku wykonywalnym)?
Żeby zapisać grę w formacie 'exe' należy wybrać 'File->Create Executable' i wskazać gdzie zapisać plik.

8. Game Maker nie chce otwierać niektórych plików. Dlaczego?
Formaty plików obsługiwane przez Game Makera różnią się w kolejnych odsłonach programu. GM7.x obsługuje format .gmk, GM6.x .gm6, a GM5.x .gmd.
Game Maker 6 i 7 mogą otwierać starsze rozszerzenia. By to zrobić, kliknij File -> Open, a następnie wybierz w liście typów plików (Pliki typu: ) "Old Game Maker Files". Ten sposób jednak nie gwarantuje pełnej kompatybilności starych plików z nowszą wersją.

***

9. Gdzie powinienem wpisać te wszystkie skrypty w GMLu?
Istnieje specjalny klocek 'Execute a piece of code'. Znajduje się on w zakładce 'control'. Klocek ten dodajemy do obiektów, które tworzymy tak samo jak inne zasoby - w menu 'Add->Add Obiect'.
Możesz też używać 'Scriptów', które tworzysz jak inne zasoby gry - klikając w menu 'Add->Add Script'. Zastępują one funkcje i pozwalają na wielokrotne wykonanie tego samego kodu. Używa się ich za pomocą klocka 'Execute Script' w zakładce 'control'. Ostatnią możliwością wpisania skryptów jest Creation Code Room'u. Znajdziemy go w settings nowo utworzonego roomu.

10. Co zrobić, żeby ekran gry przesuwał się wraz z bohaterem?
Otwieramy room i przechodzimy do zakładki 'Views'. Zaznaczamy 'Enable the use of Views' i 'Visible when room starts'. Następnie w ramce 'Object following' wybieramy obiekt, za którym ma podążać ekran.

11. Jak zrobić obiekt podążający za myszką oraz wyrównany do siatki?
Dla siatki o rozmiarze pola 20x30 skrypt wygląda następująco:kodx = mouse_x div 20 * 20;
y = mouse_y div 30 * 30;
Wpisujmy go w evencie "step" obiektu docelowego. Polega to tylko na zaokrągleniu wartości zmiennych x, y.

12. Jak zrobić przedmiot (np. lufę czołgu), który obraca się w stronę celownika/kursora myszy?
Odpowiedni kod wygląda tak:koddirection=point_direction(x,y,celownik.x,celownik.y);
image_angle=direction
Wrzucamy to w "step" przedmiotu, który się obraca. Sprite tego przedmiotu powinien być zwrócony w prawo.

Lub dla wersji niezarejestrowanej. Tworzymy animację obracającego się ludzika (można do tego użyć opcji 'Animation->Roation sequence' w 'Edit sprite' ). A następnie wpisujemy w STEP:koddirection=point_direction(x,y,celownik.x,celownik.y)
image_single = direction * image_number/360;

13. Jak zrobić grawitację w grze platformowej?
Najpierw tworzymy obiekt blok, po którym będzie chodził bohater. Należy pamiętać, że blok ma być solid. Następnie robimy obiekt hero, któremu w "step" wklejamy kod:kodif place_free(x,y+1)
{gravity = 0.5}
else{gravity = 0}
Przy kolizji z blokiem:kodmove_contact_solid(270,4)
vspeed = 0
Przy naciśnięciu klawisza w prawo:kodif place_free(x+4,y)
{x+=4}
Przy naciśnięciu klawisza w lewo:kodif place_free(x-4,y)
{x-=4}
Przy naciśnięciu klawisza w górę (skakanie):kodif ! place_free(x,y+1)
{vspeed = -10}

14. Jak zrobić poruszanie się bohatera w stylu pierwszych części GTA?
Tworzymy animację obracającego się ludzika (można do tego użyć opcji 'Animation->Roation sequence' w 'Edit sprite' ). Następnie tworzymy odpowiedni obiekt i w "step" wpisujemy mu:kodimage_single = direction * image_number/360;
if (keyboard_check(vk_left))
direction+=5;
elseif (keyboard_check(vk_right))
direction-=5;

if (keyboard_check(vk_up) )
speed=3;
elseif (keyboard_check(vk_down) )
speed=-2;
elsespeed=0;

15. Co zrobić, żeby obiekt1 szedł w stronę obiekt2?
W "step" obiekt1 wpisujemy:kodmove_towards_point(obiekt2.x,obiekt2.y,szybkosc) Zamiast 'szybkosc' wpisujemy odpowiednią liczbę.

16. Jak zrobić aby postać przeskakiwała o 24 pixele w prawo, lewo, górę i dół?
W "step" postaci, która ma się poruszać:kodif keyboard_check_pressed(vk_left)x-=24
if keyboard_check_pressed(vk_right) x+=24
if keyboard_check_pressed(vk_up)y-=24
if keyboard_check_pressed(vk_down) y+=24

17. Jak zrobić 'strzelanie'?
W obiekcie, który ma strzelać (w evencie przy nacisnięciu wybranego klawisza):kodif keyboard_check(vk_control)
{
instance_create(x,y,obiekt_pocisk);
}
W "create" obiektu, który jest pociskiem wrzucamy jeden z czterech kodów:kodvspeed = (-10); //strzelanie do góry
vspeed = (10); //strzelanie w dół
hspeed = (10); //strzelanie w prawo
hspeed = (-10); //strzelanie w lewo

18. Jak zrobić prześwitujący obiekt?
W 'create' danego obiektu wpisujemy:kodimage_alpha = 0.5;Pamiętaj że wartość alpha może wynosić tylko od 0 do 1.

19. Jak zrobić wyświetlanie ilości klatek na sekundę (FPSów)?
W "draw" wpisujemy:koddraw_text(view_xview,view_yview,'FPS: '+string(room_speed)+' / '+string(fps));
20. Co zrobić, żeby dana akcja miała miejsce dopiero po zbliżeniu się obiektu1 do obiektu2 na odpowiednią odległość?
W stepie któregoś z obiektów wpisz:kodif distance_to_object(obiekt_2) < ilosc_pixeli
{
//wykonaj akcję
}

21. Jak otworzyć stronę internetową z gry/programu stworzonego w GM?
Przy danej akcji (np. kliknięciu w przycisk z napisem 'WWW' ) wykonaj ten kod:kodexecute_shell('gamemaker.pl',0);
22. Znikł mi mój obiekt pomimo że ma ustawionego sprita i umieściłem go w określonym roomie, co zrobić?
Sprawdź czy obiekt ma zaznaczoną opcję 'Visible', lub jeśli używasz w nim eventu 'draw' dodaj w nim taką linijkę:koddraw_sprite_ext( sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, image_blend, image_alpha );Zawsze gdy używasz tego eventu GM wyłączy Ci automatyczne rysowanie obiektu, więc musisz to zrobić ręcznie.

23. Chcę zmienić domyślnie ustawiony kursor na inny, jak to zrobić?
Jeśli chcesz użyć jednego z domyślnych wskaźników to musisz wykonać kod:kodwindow_set_cursor( <kursor> );I wpisać w miejsce <kursor> jeden z tych:kodcr_defaultcr_nonecr_arrowcr_crosscr_beamcr_size_neswcr_size_nscr_size_nwsecr_size_wecr_uparrowcr_hourglasscr_dragcr_nodrop
cr_hsplit
cr_vsplit
cr_multidrag
cr_sqlwait
cr_no
cr_appstartcr_help
cr_handpointcr_size_all
Jeśli chcesz stworzyć własny kursor z jakiegoś obrazka to wpisz w 'draw':kodwindow_set_cursor( cr_none );
draw_sprite( <sprite_kursora>, -1, mouse_x, mouse_y );
W miejsce <sprite_kursora> należy wpisać nazwę sprita który ma być kursorem.

24. Jak zrobić żeby życie chodziło za bohaterem?
Musisz ustawić x i y rysowania żyć, bądź obiektu żyć na x i y viewa. Możesz to zrobić tak:kodx = view_xview;
y = view_yview;

25. Chcę, aby po zniknięciu wszystkich monet z planszy nastąpiła jakaś akcja. Jak mam to zrobić?
kodif instance_number(obj_moneta) == 0
{
//akcja
}
Oczywiście w miejsce obj_moneta można również wpisać nazwę jakiegokolwiek innego obiektu.

26. Jak zrobić grę MMORPG?
Przed tobą jeszcze długa droga. Potrenuj robienie małych gierek (platformówki, shootery) i stopniowo podwyższaj poprzeczkę. MMORPGi to zadanie dla zaawansowanych i nie jest łatwe. Wymaga wielu miesięcy (a czasem nawet lat) pracy.

27. Jestem nowy i chcę zrobić jakaś fajną grę w teamie. Gdzie mogę zebrać ekipę?
Najpierw zadaj sobie pytanie: "Co ja będę robić?". Żeby zachęcić ludzi do współpracy musisz pokazać na co cię stać, co umiesz. Nikt nie dołączy do Twojego teamu kompletnie Cię nie znając.

28. Jak zmienić prędkość animacji ?
kodimage_speed=0.5 //domyślnie 1 Oczywiście można ustawić dowolną prędkość animacji.

29. Jak sprawić, aby dana czynność wykonywała się cyklicznie, lub po jakimś czasie?
Należy skorzystać z Alarmów. Szerzej to zagadnienie zostało omówione w [url=gmclan.org/index.php?czytajart=64]tym artykule[/url] oraz [URL=gmclan.org/index.php?czytajart=51]tym artykule[/URL].
***

Autorzy: Ranmus, Patrysław, Marmot, Bigshark, Dark Maximal, kasmilus, Moho, Tymon, LionX, Dawidsu, Blackmaul, Kasa100, Matthew, Mimek, gnysek.
Ostatni update: 02 lipca 2009

215404
Komentarze (łącznie 393, wyświetlam 181 - 195):
propaganja (śro., 14 Lis. 07, 13:52)
#181

trzeba shakować tibie, i walnąć w FAQ jej kod źódłowy. Bo czy da sie zrobic tibie to chyba naj naj z frequently asked questions :)

M@ti002 (śro., 14 Lis. 07, 19:14)
#182

nie. to tylko almora robi takie zamieszanie :P tibia sie chowa :D

K
kasa100 (Sob., 17 Lis. 07, 12:24)
#183

Ganja: Ja mam kod źródłowy :D i nikt mi nie zabroni go mieć :P

K
kasa100 (Sob., 17 Lis. 07, 12:27)
#184

Znaczy nie cały :P Tylko kod itemów :D

n
~nooby1995 (Pią., 07 Gru. 07, 20:55)
#185

nie wiem czemu ale nie umiem zrobic szczelania
robie wszystko co pisze w FAQ i tak nic
prosze o pomoc

P
PsichiX (Pią., 07 Gru. 07, 21:00)
#186

wiec nie tu pytaj a na forum

s
swirqqq (Pią., 21 Gru. 07, 19:36)
#187

Wszystko pieknie !! Dzieki !! Szukalem jak zrobic kursor d gry !! THX

kubasz (śro., 02 Sty. 08, 20:24)
#188

Tylko jak tu zrobić samochód?

Tymon (śro., 02 Sty. 08, 20:26)
#189

Zrob dobrze.

Y
Yoda (śro., 02 Sty. 08, 20:38)
#190

Zrobienie samochodu to nie taka prosta sprawa - będziesz potrzebował silnika, karoserii, baku i kilku innych rzeczy :D

M
Mistyk (Pią., 11 Sty. 08, 18:28)
#191

Ale pomocne dam to do MOJEGO MMORPGA jeku zwaliste XD
A tak naprawde niezłe FAK

S
Sarutobi (Wto., 15 Sty. 08, 14:01)
#192

a kto z was lubi runescape

C
Cora Wind (Pią., 18 Sty. 08, 09:07)
#193

Ja mam cały kod źródłowy tibi , i clienta też , server można ściągnonć a clienta wziąść z rl tibi ... lol ^^

C
Cora Wind (Pią., 18 Sty. 08, 09:09)
#194

Tylko że on jest w C/C++, i można go przerabiać kiedy się chce.

k
kryniak (Pią., 18 Sty. 08, 11:14)
#195

A ja lubię pulpety '-'

Najnowsze wersje GameMakera:

Stabilna
2024.8.1.171 • 2024.8.1.218
wydana 84 dni temu
LTS
2022.0.3.85 • 2022.0.3.99
wydana  dziś
Beta
2024.1100.0.700 •
2024.1100.0.718
 0.14.0

wydana  5 dni temu
= IDE, = Runtime, = GMRT
Użytkownicy online
2 użytkowników aktywnych:
gości: 1, userów: 1
 Adriann
(~ostatnie 15 minut)
Discord
47 użytkowników online na discordzie:
Kysiu, 🧁Cupcake🧁, Moho, Carl-bot, p..., lethian, Grela, Wielki Druid, Alkapivo, m..., TobiasM (Morgo), Kowu, LadyLush, GMRussell, Gameduro, Filyps, fervi, Radek Ignatów, r..., antek, HappyOrange, LolikZabijaka, Pako, Arrekin, MagnusArias, Domeen0, Dyno, 🆅🅸🆃🅾74🅼, Morro, LeD, Miłosz, 21Lancz, Voytec, Ulti, m..., bagno, Tidżi, Mtax, l..., moeglich, s..., Add92, Krzysiek1250, Shockah, Kandif, Cosplyfanka, PeekoHiko
Shoutbox
MagnusArias (17:43, 01.12.24)
O matko... a ja tutaj jestem od ponad 15 lat i czasami zaglądam... biernie bo biernie, ale czasem wpadnę
gnysek (11:46, 17.11.24)
Witamy, witamy!
baca (12:22, 16.11.24)
To już 25 lat.. Witam po paru latach nieobecności.
gnysek (11:05, 15.11.24)
Natomiast obecne forum istnieje od 2004, jak z iglu.cz na gmclan.org przeszliśmy i od tego czasu nie było resetów danych.
gnysek (12:35, 13.11.24)
Ogólnie GMCLAN istnieje 22 lata, ale na to trofeum nie zrobiłem (jeszcze xD)
Chell (20:41, 08.11.24)
wow, ta emotka w ogóle nie wygląda jak : O xD
Chell (20:40, 08.11.24)
tylko? :O 4tk ma 15
Borek (18:12, 07.11.24)
Właśnie dostałem powiadomienie z forum, że jestem na GMClanie 18 lat :D Ja pierdzielę...
S
Sutikku (08:43, 18.10.24)
TIL, gamemaker jest starszy ode mnie
gnysek (16:04, 15.10.24)
Za równo miesiąc, GameMaker kończy 25 lat.
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?