Diskuze: Pohyb místností pomocí sledování objektu
V předchozím kvízu, Online test znalostí GameMakeru, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 10 zpráv z 10.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí GameMakeru, jsme si ověřili nabyté zkušenosti z kurzu.
taky že jo, ale object.x a objekt.y, jsetli tě správně chápu.
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.
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
Otáčej raketu runtime při vykreslování a není důvod mít víc než jeden objekt.
Vím, že teď budu za úplného vola, tak se omlouvám, ale jak to udělat?
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
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 )
Viděl jsem tu tvojí raketu a ten pohyb tam byl fakt něco , 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 ):
https://s21.solidfilesusercontent.com/…-1.0.0.0.exe
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
Zobrazeno 10 zpráv z 10.