Diskuze: Pohyby
V předchozím kvízu, Online test znalostí GameMakeru, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 18 zpráv z 18.
//= 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.
Princip je stejný, jen se použije jinačí vykreslovací fce se stejnými parametry
Pohyblivé plošiny se dělají tak, že si objekt plošina zjišťuje, zda na ní hráč stojí (myslím, že je na to akce check object, nastavíš jí relative, x=0,y=-1, objekt hráč) a pokud ano, tak hráčem pohne. Akce bude ve stepu a mělo by stačit něco jako nastavit hráč.x=hspeed se zaškrtnutým relative. Trochu si s tím pohraj, není to složité, jen posouváš objekt. Plošina bude solid. Jakmile z ní hráč seskočí, přestane s ní jezdit.
A když mám nějaký sprit, a chci, aby se otočil, jak na to?
(PLS, ne tak, že si udělám 2 sprity) - chci trochu redukovat paměť...
Nastavením proměnné image_xscale
image_xscale = 1;//původní sprite
image_xscale = -1;//otočený sprite
Je také vhodné spritu vycentrovat tzv. origin -> rozkliknutím spritu a klepnutím na tlačítko center -> aby se sprite otáčel podle vystředěné osy a neuskakoval při otočení spritu.
Dík, do eventu Col.with wall jsem dal:
• Reverse vertical
• Skript:
{
if image_yscale = 1
then image_yscale = -1;
else
if image_yscale = -1
then image_yscale = 1;
}
A funguje perfektně Díky za pomoc!
Co takhle místo toho bloku napsat napsat image_yscale *= -1; ?
To není špatný nápad...
Hele, když mám, LMB - vytvořit objekt na pozici x,y a chci, aby se pořád
nevytvářel, ale musel jsi stisknout znova LMB, tak aby se zase vytvořil
<U> jen jeden </U> objekt?
Tak samozřejmě, aby plošina jezdila vertikálně, to není těžké. Postavičku potom bude posouvat jen nahoru a dolů bude padat sama gravitací.
Vytvořil jsem ukázku:
http://dl.dropbox.com/…46fa9d69.gmk
Použil jsem stejný princip jako u horizontálního. Avšak byl zde problém se zasekáváním hráče v plošince při otočení směru (dolů->nahoru) k y se připočítala kladná vspeed a tím pádem se hráč kousnul. Použil jsem následující podmínku:
if ((place_meeting(x,y-10,obj_character)) || (place_meeting(x,y+1,obj_dir_reverse)))
obj_character.y -= 2;
Dolů hráč padá gravitací.
Zobrazeno 18 zpráv z 18.