Diskuze: Pohyby

Ostatní jazyky GameMaker GameMaker Pohyby

Aktivity (1)
Avatar
kIvosek
Člen
Avatar
kIvosek:26.11.2011 18:39

Jak udělat když mám pohyblivou místnost a chci, aby se tam posunovalo skore a životy.Jak to můžu jednoduše udělat?

 
Odpovědět 26.11.2011 18:39
Avatar
David Jančík [sczdavos]
Tým ITnetwork
Avatar
Nahoru Odpovědět  +1 26.11.2011 19:35
Čím více času dostaneš, tím méně ho máš.
Avatar
Darkmagic
Redaktor
Avatar
Odpovídá na David Jančík [sczdavos]
Darkmagic:27.11.2011 12:44

Jo, ale tam se nezodpovídají životy...

Nahoru Odpovědět 27.11.2011 12:44
Nejhorší je, když myslíš, že víš
Avatar
David Jančík [sczdavos]
Tým ITnetwork
Avatar
Odpovídá na Darkmagic
David Jančík [sczdavos]:27.11.2011 12:52

Princip je stejný, jen se použije jinačí vykreslovací fce se stejnými parametry :)

Nahoru Odpovědět 27.11.2011 12:52
Čím více času dostaneš, tím méně ho máš.
Avatar
kIvosek
Člen
Avatar
kIvosek:3.12.2011 15:46

Děkuji. A když už jsme u těch pohybů,jak mohu udělat (jak je tom například ve skákačkách), že tu dotyčnou postavičku převeze plošina a aby na té plošině mohla stát. Jak to můžu udělat?

 
Nahoru Odpovědět 3.12.2011 15:46
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na kIvosek
David Čápka:3.12.2011 16:50

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.

Nahoru Odpovědět  +1 3.12.2011 16:50
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
David Jančík [sczdavos]
Tým ITnetwork
Avatar
Nahoru Odpovědět  +1 3.12.2011 17:34
Čím více času dostaneš, tím méně ho máš.
Avatar
Darkmagic
Redaktor
Avatar
Odpovídá na David Jančík [sczdavos]
Darkmagic:4.12.2011 13:26

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ěť...

Nahoru Odpovědět 4.12.2011 13:26
Nejhorší je, když myslíš, že víš
Avatar
David Jančík [sczdavos]
Tým ITnetwork
Avatar
Odpovídá na Darkmagic
David Jančík [sczdavos]:4.12.2011 13:32

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.

Nahoru Odpovědět  +2 4.12.2011 13:32
Čím více času dostaneš, tím méně ho máš.
Avatar
Darkmagic
Redaktor
Avatar
Odpovídá na David Jančík [sczdavos]
Darkmagic:4.12.2011 13:53

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!

Nahoru Odpovědět 4.12.2011 13:53
Nejhorší je, když myslíš, že víš
Avatar
Darkmagic
Redaktor
Avatar
Odpovídá na Darkmagic
Darkmagic:4.12.2011 13:54

Dávám to hlas za pomoc

Nahoru Odpovědět 4.12.2011 13:54
Nejhorší je, když myslíš, že víš
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Darkmagic
David Čápka:4.12.2011 17:43

Co takhle místo toho bloku napsat napsat image_yscale *= -1; ? ;)

Nahoru Odpovědět  +2 4.12.2011 17:43
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Darkmagic
Redaktor
Avatar
Odpovídá na David Čápka
Darkmagic:5.12.2011 14:28

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?

Nahoru Odpovědět 5.12.2011 14:28
Nejhorší je, když myslíš, že víš
Avatar
Darkmagic
Redaktor
Avatar
Odpovídá na Darkmagic
Darkmagic:5.12.2011 14:30

Tak už nic, vyřešil jsem to skriptem mouse_clear(1)

Nahoru Odpovědět 5.12.2011 14:30
Nejhorší je, když myslíš, že víš
Avatar
kIvosek
Člen
Avatar
kIvosek:21.12.2011 14:47

Když už máme ty pohyblivé plošiny jak můžu udělat,aby mě vertikálně?

 
Nahoru Odpovědět 21.12.2011 14:47
Avatar
Darkmagic
Redaktor
Avatar
Odpovídá na kIvosek
Darkmagic:21.12.2011 20:28

image_xscale je hor
image_yscale je ver

Nahoru Odpovědět 21.12.2011 20:28
Nejhorší je, když myslíš, že víš
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na kIvosek
David Čápka:21.12.2011 21:48

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í.

Nahoru Odpovědět 21.12.2011 21:48
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
David Jančík [sczdavos]
Tým ITnetwork
Avatar
Odpovídá na kIvosek
David Jančík [sczdavos]:22.12.2011 11:40

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í.

Nahoru Odpovědět 22.12.2011 11:40
Čím více času dostaneš, tím méně ho máš.
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 18 zpráv z 18.