Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Daniel Bernátek:9.11.2014 12:28

Zdravím,
je možné a jak, aby místo pohybování se místností myší, se místnost pohybovala podle objektu ve hře? Přesněji... Mám raketu a chci, aby tím jak létala vesmírem se pohybovala i mapa a nemusel bych tak dělat hromadu místností. Něco jako je mouse_x a mouse_y tak kdyby bylo třeba object_x a object_y :-D

 
Odpovědět
9.11.2014 12:28
Avatar
Šimon Raichl
Tvůrce
Avatar
Šimon Raichl:9.11.2014 13:49

taky že jo, ale object.x a objekt.y, jsetli tě správně chápu.

 
Nahoru Odpovědět
9.11.2014 13:49
Avatar
TomBen
Tvůrce
Avatar
Odpovídá na Daniel Bernátek
TomBen:9.11.2014 17:37

K tomu se používají views (pohledy). Jsou v menu úpravy místnosti. Místnost uděláš velkou, view nastavíš na velikost běžného okna. Pak stačí zadat ve view sledování objektu ( object following ) a Game Maker bude všechno dělat za tebe. Jinak má samozřejmě každý objekt svoje souřadnice, jak už píše Šimon Raichl. Tohle jsou ovšem všechno základy pro úplné začátečníky.

Nahoru Odpovědět
9.11.2014 17:37
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Odpovídá na TomBen
Daniel Bernátek:12.11.2014 15:41

Děkuji, moc jsi mi pomohl. Má to ovšem háček. Mám totiž objekt Raketa 4x a sice letící nahoru, dolu, doleva a doprava, aby se object "otáčel". Jak mohu vyřešit toto? Nějaký způsob jak nastavit otáčení objektu na základě stisknuté klávesy, tak abych mohl mít pouze jeden objekt, který dám do Object following? Díky

 
Nahoru Odpovědět
12.11.2014 15:41
Avatar
TomBen
Tvůrce
Avatar
Odpovídá na Daniel Bernátek
TomBen:14.11.2014 17:36

Otáčej raketu runtime při vykreslování a není důvod mít víc než jeden objekt.

Nahoru Odpovědět
14.11.2014 17:36
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Daniel Bernátek:15.11.2014 12:19

Vím, že teď budu za úplného vola, tak se omlouvám, ale jak to udělat? :-D S GameMakerem pracuji již poměrně dlouho a zvládám i mnohem těžší věci, ale s tímhle jsem se prostě ještě nesetkal... Byl jsem zvyklý používat 4 objekty. Trošku jsem hledal, ale nenašel, stačí mě nakopnout, na zbytek už snad přijdu.
Díky

 
Nahoru Odpovědět
15.11.2014 12:19
Avatar
Druid
Tvůrce
Avatar
Odpovídá na Daniel Bernátek
Druid:15.11.2014 14:06

Tak, nevím jak si to představuješ nebo jak to chceš mít řešený. Ale já bych to udělal takhle:

Vytvořil bych si objekt raketka a sprity jak raketka letí nahoru a doprava. Do ní bych vložil create event a do create eventu ikonku s kódem.

Do kódu bych zapsal:

spd=5 //(proměnná pro rychlost)
key_left=vk_left //doleva
key_right=vk_right //doprava
key_up=vk_up //nahoru
key_down=vk_down //dolu

Pak bych vložil step event, a do něj zase ikonku s kódem a tam jebneš něco jako http://pastebin.com/0L5f2fBm

(pokusil jsem se to co nejlépe popsat, takže se omlouvám pokud ti to přijde psaný jako pro blbečky :D )

Nahoru Odpovědět
15.11.2014 14:06
Život je tak trapný bože, jak uprdnutí do soulože.
Avatar
Druid
Tvůrce
Avatar
Druid:15.11.2014 14:09

V tom pastebinu mám malinko pomíchaný xscale a yscale :D Ale myslim že to pochopíš a opravíš :D

Nahoru Odpovědět
15.11.2014 14:09
Život je tak trapný bože, jak uprdnutí do soulože.
Avatar
DooM
Tvůrce
Avatar
Odpovídá na Daniel Bernátek
DooM:15.11.2014 15:44

Viděl jsem tu tvojí raketu a ten pohyb tam byl fakt něco :D, proto jsem ti napsal ukázku, jak bys to mohl udělat mnohem lépe.

if(speed > 0.5)
{
    sprite_index = spr_rocket_move;

    if(keyboard_check(vk_left) || keyboard_check(ord("A")))
    {
        image_angle += speed / 2;//otočení spritu raketky
        direction += speed / 2;//změna směru raketky
    }

    if(keyboard_check(vk_right) || keyboard_check(ord("D")))
    {
        image_angle -= speed / 2;//otočení spritu raketky
        direction -= speed / 2;//změna směru raketky
    }
}
else
    sprite_index = spr_rocket;

if(keyboard_check(vk_up) || keyboard_check(ord("W")))
{
    if(speed <= 10)
        speed += 0.1;
}

if(keyboard_check(vk_down) || keyboard_check(ord("S")))
{
    if(speed > 0.5)
        speed -= 0.1;
}

Projekt ke stažení(pro Game Maker Studio): https://s25.solidfilesusercontent.com/…etka.gmx.zip

Exe ke stažení(Ani nevím proč to sem dávám :D):
https://s21.solidfilesusercontent.com/…-1.0.0.0.exe

Nahoru Odpovědět
15.11.2014 15:44
Klient: Nefunguje mi internet co s tím uděláte? Operátor: a co vidíte na monitoru? Klient: No signal...
Avatar
TomBen
Tvůrce
Avatar
TomBen:15.11.2014 15:56

Lidi, máte ty kódy takové nějak neúhledné. :-)

Viděl bych to nějak takhle:
https://www.dropbox.com/…v/Rocket.gmz?dl=0

Nahoru Odpovědět
15.11.2014 15:56
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.