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«1415161718

19

20

av

Roki (20:50, 26.11.2009)

Lol, czemu pytasz o to tutaj?
Haha, to ja zapytam za niego, gdzie on jest XD ?

av

MauuuryM (20:48, 16.12.2009)

A jak zrobić poruszanie się z pkt.14 na literkach? Próbowałem pozamieniać wartości w nawiasach z np. (vk_left) na ('A' itd., ale postać zaczęła krążyć w kółko po odpaleniu gry.

av

gnysek (20:57, 16.12.2009)

ord( 'A' )

av

MauuuryM (21:05, 16.12.2009)

Ooo... faktycznie. Dzięki!

av

Roki (7:35, 17.12.2009)

Nigdy tego nie pamiętam ;p

av

MisieK-GM (0:58, 24.01.2010)

a jak zrobić żebypo nacisnięciu jakiegos klawisza strzałem object leciał puki nie zatrzyma sie na scianie?

av

marker (9:47, 24.01.2010)

klocki:

event klikniecie LPM i akcja z move: 'move fixed' i tam wpisujesz strone i predkosc.
event kolizja ze sciana, akcja move fixed, tam wpisujesz strone i predkosc na 0.

kod:

if (mouse_check_button_pressed(mb_left))
{
speed = 10
}

a na zatrzymanie w kolizji

speed = 0

av

Ray14 (11:34, 3.03.2010)

hej sorki ale jaka to strona byla z przykladami do gm, wszystkie na czarnym tle.??
jak mozecie prosze o link thx

av

Ray14 (15:47, 10.03.2010)

sorki to znowu ja jak mamy w gml:
vk_ => to sá strzalki itp
a jak w gml jest np. 'w' czy jakas inna litere

av

Lechu4444 (15:53, 10.03.2010)

if keyboard_check_pressed(ord('w')

av

Ray14 (18:01, 16.03.2010)

hejka mam proste pytanko jak zrobić żeby gm otwieral plik z danego folderu mimo że ten folder przeniose. czyli nie wpisuje całego linka do tego folderu, tylko np nazwe pliku a więc folder będzie mógł być przeniesiony.

av

Assassin (19:19, 16.03.2010)

1. PISZ NA FORUM TAKIE RZECZY.
2. A NIBY JAK TO MA DZIAŁAĆ ?? WYOBRAŹ SOBIE, ŻE WIESZ GDZIE JEST FOLDER, A JA CI GO PRZENOSZE CAŁKIEM GDZIE INDZIEJ. ZNAJDZIESZ GO OD RAZU ?? NIE, MUSISZ POSZUKAĆ. TAK SAMO KOMP MUSIAŁBY GO POSZUKAĆ NAJPIERW...

av

Ray14 (19:30, 16.03.2010)

nowięc jak to zrobić??

av

Ray14 (19:38, 16.03.2010)

aha i mam jeszcze jedno pytanie jak moge zrobić aby object był zawsze na góże bez względu na depth innych??, da się to zrobić bez ustawiania depth??

av

Assassin (20:01, 16.03.2010)

NAPISZ NA FORUM, JESTEŚ JAKIŚ NIEROZUMNY !?

av

Smo (15:47, 7.11.2010)

Nie to co ty piszący z włączonym Caps-Lock'iem, prawda?

av

Muuuuczek567 (16:48, 7.11.2010)

16.03.2010
7.11.2010

Ty za to jesteś rozumny. Jak diabli.

av

Smo (19:11, 7.11.2010)

Wiem
Co z tego, że taka różnica daty?

av

Muuuuczek567 (22:58, 7.11.2010)

Sądzę, że odpisywanie po ośmiu miesiącach o włączonego Caps Locka jest niespecjalnie mądre

av

Smo (12:04, 8.11.2010)

No racja

stron: 20«1415161718

19

20


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
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
Uzjel (16:03, 15.11.17):
(GMS2)
PsichiX (15:56, 15.11.17):
wat D:
Uzjel (15:51, 15.11.17):
Prędkość podglądu w Sprite Editorze ma wpływ na prędkość animacji w grze. Moje życie straciło sens
hgter (2:15, 15.11.17):
Jak rzekłem tak zrobiłem. Obejście problemu wrzuciłem w: forum.gmclan.or...nowości-z-forum
hgter (0:30, 15.11.17):
Cóż rzec. Też sam nigdy o tym nie pamiętam - i potem mam jak Ty. Już nawet myślałem żeby jakiś skrypt napisać czy coś.
Sutikku (0:02, 15.11.17):
ta ale to trzeba pamiętać, a ja wejdę, naklikam ostatnie pięć nowości, a potem kappa
hgter (23:03, 14.11.17):
Można też dać f5 zaraz po wejściu. Wtedy kółeczko działa "od razu"
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.02031 sekund ] [ Liczba zapytań MySQL: 13 ]