Game Maker FAQ
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=directionWrzucamy 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 = 0Przy 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_allJeś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