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
Treść artykułu
Game Maker FAQ
autor: Użytkownicy GMclan'u (2.07.04)
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 yoyogames.com.
Starsze wersje znajdziesz w tym miejscu.

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. Tutaj 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
tym adresem.

5. Gdzie mogę znaleźć jakieś kursy, przykłady, ogólnie rzecz biorąc pomoc dotyczącą programu?
Przede wszystkim w tym serwisie. Tutaj masz kursy, tu dużo plików (w tym przykładów - bardzo przydatnych dla początkujących). Możesz również zajrzeć do działu z linkami, a także na oficjalną stronę Game Makera (głównie działy Games, Tutorials, Resources). W trakcie tworzenia korzystaj z polskiego tłumaczenia helpa. 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 naszym forum - 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, kurs GML dla początkujących autorstwa Marmota , a także inne kursy GMLa w naszym serwisie. Pomóc ci może również Action Decoder.

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:
gml:
x = 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:
gml:
direction=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:
gml:
direction=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:
gml:
if place_free(x,y+1)
{gravity = 0.5}
else
{gravity = 0}
Przy kolizji z blokiem:
gml:
move_contact_solid(270,4)
vspeed = 0
Przy naciśnięciu klawisza w prawo:
gml:
if place_free(x+4,y)
{x+=4}
Przy naciśnięciu klawisza w lewo:
gml:
if place_free(x-4,y)
{x-=4}
Przy naciśnięciu klawisza w górę (skakanie):
gml:
if ! 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:
gml:
image_single = direction * image_number/360;
if (keyboard_check(vk_left))
direction+=5;
else
if (keyboard_check(vk_right))
direction-=5;

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


15. Co zrobić, żeby obiekt1 szedł w stronę obiekt2?
W "step" obiekt1 wpisujemy:
gml:
move_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ć:
gml:
if 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):
gml:
if keyboard_check(vk_control)
{
instance_create(x,y,obiekt_pocisk);
}
W "create" obiektu, który jest pociskiem wrzucamy jeden z czterech kodów:
gml:
vspeed = (-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:
gml:
image_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:
gml:
draw_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:
gml:
if 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:
gml:
execute_shell('www.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ę:
gml:
draw_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:
gml:
window_set_cursor( <kursor> );
I wpisać w miejsce <kursor> jeden z tych:
gml:
cr_default
cr_none
cr_arrow
cr_cross
cr_beam
cr_size_nesw
cr_size_ns
cr_size_nwse
cr_size_we
cr_uparrow
cr_hourglass
cr_drag
cr_nodrop
cr_hsplit
cr_vsplit
cr_multidrag
cr_sqlwait
cr_no
cr_appstart
cr_help
cr_handpoint
cr_size_all
Jeśli chcesz stworzyć własny kursor z jakiegoś obrazka to wpisz w 'draw':
gml:
window_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:
gml:
x = view_xview;
y = view_yview;


25. Chcę, aby po zniknięciu wszystkich monet z planszy nastąpiła jakaś akcja. Jak mam to zrobić?
gml:
if 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 ?
gml:
image_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 tym artykule oraz tym artykule.
***

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

215404
głosów: 102 | ocena: 8.62 oceń zasób | dodał: Ranmus
Komentarze
stron: 20«1516171819

20


av

ThePatrykKUMC (10:24, 27.12.2012)

dobre

av

Trzynasty (11:03, 1.07.2013)

8(cena) i 4(a gdzie gmk i gm81) nie aktualne...

av

radeok2 (16:38, 9.07.2013)

moze mi ktos powiedziec w jakim evencie sie daje nr 25 bo rózne patrze i nic

av

radeok2 (17:05, 9.07.2013)

nie trzeba juz wiem

av

Paindemonium (17:33, 28.09.2014)

Witam. Poszukuję pomocy z kilka sprawami. Chciałbym stworzyć dwie rzeczy, które sprawiają mi problem. Robię grę coś ala Crimsonland z widokiem z góry. Mechanizm już stoi, toporny ale stoi i będzie rozwijany. Brakuje mi natomiast możliwości urozmaicenia rozwalania przeciwników. Np trafię i zabiję zombie to powstaje plama krwi na podłodze ale jako object to ta plama jakimś sposobem znajduje się o poziom wyżej od innych obiektów. Chodzi tu np że pociski z karabiny lecą POD plamą krwi albo respawnujące się potwory też przechodzą POD a nie NAD plamą. Jak zmienić albo ustawić poziomy obiektów? Coś jak montowanie filmów i ma sie kilka poziomów/ścieżek. Ta wyżej ma pierwszeństwo i w razie potrzeby przysłania te nizej itp. Chyba mnie rozumiecie. Druga rzecz to stworzenie fizyki do konkretnych obiektów. Wiem jak stworzyć obiekt po śmierci przeciwnika np ręka, noga, mózg na ścianie. Ale chciałbym dać im jakiś zalążek fizyki czyli po zabiciu wroga tworza się obiekty które losowo lecą we wszystkie strony i np zatrzymują się na podłodze po pewnym czasie i takie duperelki. Lub przynajmniej by postawić timer i po jakimś czasie by zniknęły. Będę wdzięczny za pomoc jak coś podaję maila paindemonium0@gmail.com

av

Paindemonium (18:46, 28.09.2014)

Ok sprawa głębi obiektów już nieaktualna ale nadal fizyka sprawia mi spore problemy. Udalo mi się tylko dzięki YT zrobić tworzenie się kropek symulujacych rozbryzg krwi z elementami fizyki.

av

kriso99 (19:36, 28.09.2014)

yyy napisz na forum...

av

TheMcMaciej (21:24, 1.05.2015)

W 4 punkcie są błędne informacje!

av

Threef (21:33, 1.05.2015)

Dobre, bo wciąż można kupić za tę cenę GameMakera.

av

TheMcMaciej (14:18, 5.05.2015)

Threef na stronie do której podany jest link pisze że GameMaker kosztuje $79.99, a w tym punkcie pisze że GameMaker kosztuje 20 USD.

av

Threef (15:50, 5.05.2015)

Tak. GameMaker: Studio tyle kosztuje. Z tego powodu że FAQ jest nie aktualne jest tam wciąż cena starego GM, w tym wypadku GM4Mac (bo 8.1 widocznie zniknał). yoyogames.com/legacy

av

P&N (3:06, 4.12.2015)

czy można sprawić żeby obiekt1 wysunoł się do przodu przed obiektem2 lub żeby schował się za nim
JUŻ W TRAKCIE GRY????

Bardzo proszę o odp.

av

DangBean (11:18, 4.12.2015)

każda instancja obiektu ma swoje właściwości (w helpie: Reference->Object&instances->Instances->Properties). Jedną z własciwości jest depth. Można zmieniać wartość depth dla kazdej instancji z osobna np. w alarmie lub w stepie. Czym większy depth, tym bardziej "pod spodem" jest instancja.

stron: 20«1516171819

20



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

Nie masz konta? Zarejestruj się
Użytkownicy on-line
4 użytkownik(ów) aktywny(ch) przez ostatnie 15 minut:
gości: 1, userów: 3, ukrytych: 0
Uzjel, adam014, Ignatus
Użytkownicy na czacie discord
Ignatus (11:32, 23.11.17):
Chyba jedyna opcja przy formacie kompa to wersja steam?
gnysek (11:07, 23.11.17):
O kurde, zlikwidowali to... no to nie wiem, pewnie przyznaje każdą którą znajdzie
gnysek (11:03, 23.11.17):
licencje wybierasz chyba na stronie YYG
hgter (23:35, 22.11.17):
gnysek: Ok, dzięki. Tylko to ma zastosowanie też do 1.4? Bo ja mam kilka licencji z różnymi podpiętymi modułami. Ciekawe jak wybiera odpowiednią. No nic w razie czego mam spis na maila. Dopóki nie wyłączą serwerów powinno być ok.
PsichiX (21:53, 22.11.17):
imprezy firmowe w srode to nie jest trzezwy pomysl xD
gnysek (9:50, 22.11.17):
a jak coś dokupisz, to musisz raz jeszcze wpisać login i hasło w menu help > upgrade i zrobić restart
gnysek (9:50, 22.11.17):
teraz chyba tylko mejla podajesz i hasło, nie ma kodów
hgter (16:47, 21.11.17):
W PRODUCTS da się przełączyć na 1.4, alr tam jest spis wszystkiego co kupiłem, ale bez kodów. Jak się dobrać do kodów? Kiedyś było chyba coś takiego jako Recovery i na maila słali, ale tego też nie mogę znaleźć.
hgter (16:36, 21.11.17):
Chciałem sprawdzić jak to było z tym linuxe i zalogowałem się na moje konto w yoyo. Gdzie teraz są tam numery licencji? Bo szukam i szukam i nigdzie nie ma podsumowania ze spisem posiadanych modułów wraz z kodami. Kiedyś była ładna tabelka.
TO_mek (14:20, 21.11.17):
GMS 1.4 ma eksport do linuxa?
gnysek (12:38, 21.11.17):
W sumie powinienem napisać że słaba.
gnysek (10:51, 21.11.17):
Pełną + moduł. Dlatego napisałem, że oferta średnia.
hgter (0:56, 21.11.17):
Odnosząc się do ogłoszenie gnyska o subscypcji za $39: Tylko jak w tej wersji w "subskrypcji" można rozwiązać moduł na androida? Da się coś taniej? Muszę kupić moduł za 1450 zł? Czy też w tej wersji nie da się z niego skorzystać i muszę kupić pełną+moduł czyli dać 1800 zł?
PsichiX (17:42, 20.11.17):
mieli DLC pod tytulem "kompilacja do kodu natywnego", a biedaki cebulaki meczyc sie z powolnym gmlem xD
Wojo (16:09, 20.11.17):
może jeszcze dlc przyspieszające ładowanie gier?
Wojo (16:08, 20.11.17):
hahaha ten news o nowym gmie pokazuje jak jego poziom upadł na ryj
gnysek (9:37, 20.11.17):
Po prostu każdy sterownik inaczej interpretuje polecenia rysowania linii z directx i ogólnie nikt tego już nie używa w profesjonalnych grach.
gnysek (9:36, 20.11.17):
To nie wina gma tylko kart graficznych. I chyba nawet w dokumentacji jest to opisane czemu tak działa i że własnie lepiej rysować sprite.
hgter (21:40, 19.11.17):
Miałem napisać długi post o skopaniu draw_line w Gm. Ale to nie ma sensu (cyrki jakie w tym wychodzą są nieziemskie). Draw_line nie działa w Gm (działało nawet kurde qbasicu pod dosem) a już pod androidem to co się wyprawia to jakaś paranoja. Jak musisz mieć linię w swoim projekcie to narysuj ją sobie jako sprite.
Adriann (19:29, 19.11.17):
Hi hi
Saus (14:15, 18.11.17):
Siema śmieszki
hgter (10:42, 17.11.17):
Pozmieniałem wszystko na pliki i mam nadzieję, że będzie ok
hgter (10:41, 17.11.17):
Coś chyba nie jest do końca tak z dodawaniem grafik do postów. Wczoraj w nocy dodawałem screeny z gry przez linkowanie (zmieniałem ich wielkość przy pomocy narzędzi edycji w poście). Było wszystko ok, ale teraz jak zajrzałem to screeny wyparowały i tylko linki zostały. Natomiast jeden screen dodany jako plik był ok.
I am Lord (20:02, 16.11.17):
scroll byłby pokrętłem, może to wyglądać spoko
I am Lord (20:01, 16.11.17):
A zobacz w sumie bo nie sprawdzałem w jaki sposób są zrobione scrolle od myszek, tam też na pewno jest enkoder
I am Lord (20:01, 16.11.17):
ale no enkoder jednak fajniejsza sprawa bo nie ma ograniczenia obrotu
I am Lord (20:00, 16.11.17):
A na potencjometrach nie możesz?
Chell (19:13, 16.11.17):
knuje jakiś sprytny zegarek na rpi zero i tak mi zaswitalo ze takie pokrętło byłoby wygodnym inputem
I am Lord (19:08, 16.11.17):
A co konstruujesz?
I am Lord (19:08, 16.11.17):
A jak byś potrzebował liniowe enkodery to takie są np w drukarkach i skanerach
Chell (19:03, 16.11.17):
zawsze coś
I am Lord (18:59, 16.11.17):
w dodatku inkrementalne są tak jak chcesz ale wiesz jaka ich precyzja była
Chell (18:59, 16.11.17):
oo, super myśl, dzięki
I am Lord (18:58, 16.11.17):
skołuj sobie myszkę kulkową, tam są 2 takie enkodery obrotowe.
Chell (18:57, 16.11.17):
coś takiego ze starych komórek kojarzę, że jak normalny rotary encoder jest pionowy i nie da się go obracac jednym palcem tak mi chodzi o taki który jest płaski, wystaje z obudowy urządzenia tylko trochę z boku i można podkręcić
I am Lord (18:57, 16.11.17):
tzn budowa może być z tarczą wewnątrz enkodera a może być tak jak w starych kulkowych myszkach gdzie była tarcza na zewnątrz enkodera
Chell (18:55, 16.11.17):
jednak nie rysuje, lapek padl
I am Lord (18:54, 16.11.17):
no nie czaję o co ci chodzi z zatapianiem
Chell (18:54, 16.11.17):
już rysuje o co mi chodzi
I am Lord (18:53, 16.11.17):
ale to nadal liniowy tylko że się zwija
I am Lord (18:52, 16.11.17):
No to nie wiem, są jeszcze takie zwijane
Chell (18:51, 16.11.17):
bez max i min wartości w sensie
Chell (18:50, 16.11.17):
ale nie, bo wciąż zależy mi na samej czynności kręcenia, i żeby nie określał absolutnej wartości tylko inkrementowal i dekrementowal
Chell (18:50, 16.11.17):
masz refleks xD
I am Lord (18:48, 16.11.17):
encoder liniowy?
Chell (18:48, 16.11.17):
taki żeby można go było zatopić w sprzęcie od boku
Chell (18:47, 16.11.17):
ej, jak się nazywa taki rotary encoder, ale płaski i szeroki?
I am Lord (18:47, 16.11.17):
Uzjel no ale jak to? Przecież instancja może zmieniać sobie sprite_index no to jak wtedy image_speed się dostosować ma?
ANtY (15:41, 16.11.17):
elo co tam
exp (23:18, 15.11.17):
w sumie fajna rzecz dla nowych użytkowników, mimo, że starzy muszą zmieniać nawyki
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.
Copyright © 2002-2017. GMCLAN.ORG
Wszelkie prawa zastrzeżone. Kopiowanie materiałów bez zgody redakcji zabronione!
© 2002-2017 Ranmus (ranmus.pl), © 2017 {=|=} fable_inside();

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