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
UrbiCZ
Člen
Avatar
UrbiCZ:8.6.2014 15:49

Čau. Když s postavou běžím k rohu podlahy a během pádu zmáčknu šipku vpravo, postavička se objeví u země, nefunguje tedy gravitace, viz. gif dole.

Zde zdrojový kód postavičky:

// move_left_right
if(keyboard_check(vk_right) && place_free(x+4, y)){
    if(place_free(x,y+1)){
        x += 4;
        sprite_index = spr_player_run;
        image_xscale = 1;
    }else{
        sprite_index = spr_player_run;
        x += 4;
        image_xscale = 1;
    }
    }

    if(keyboard_check_released(vk_right)){
        sprite_index = spr_player;
        image_speed = 0.4;
    }

    if(keyboard_check_released(vk_left)){
        sprite_index = spr_player;
        image_speed = 0.4;
    }

if(keyboard_check(vk_left) && place_free(x-4, y)){
    if(place_free(x,y+1)){

         sprite_index = spr_player_run;
         image_xscale = -1;
          x -= 4;

    }else{
        sprite_index = spr_player_run;
        image_xscale = -1;
        x -= 4;
    }
}

// jump
if(keyboard_check_pressed(vk_space) and gravity = 0){
    vspeed = -15;
}

// gravitace
if(place_free(x,y+1)){
    gravity = 0.75;
}else{
    gravity = 0;
}

Nevíte, kde může být chyba? Díky za radu.

Editováno 8.6.2014 15:51
Odpovědět
8.6.2014 15:49
http://snitch.cz/ - web o GameMakeru
Avatar
DooM
Tvůrce
Avatar
Odpovídá na UrbiCZ
DooM:8.6.2014 17:35

Zkoušel jsem tvůj kód a zdá se, že funguje normálně. Asi bude chyba někde v kolizi se zdí.
http://www.solidfiles.com/…mple.gmx.zip

Nahoru Odpovědět
8.6.2014 17:35
Klient: Nefunguje mi internet co s tím uděláte? Operátor: a co vidíte na monitoru? Klient: No signal...
Avatar
UrbiCZ
Člen
Avatar
UrbiCZ:8.6.2014 19:50

Kolizi se postavičky se zemí mám řešenou pomocí pomocí Collision Eventu a kódu:

move_contact_solid(direction, -1);
vspeed = 0;

Můžeš to prosím upnout ještě jednou někam jinam? Nejde mi to rozbalit.

Nahoru Odpovědět
8.6.2014 19:50
http://snitch.cz/ - web o GameMakeru
Avatar
DooM
Tvůrce
Avatar
Odpovídá na UrbiCZ
DooM:9.6.2014 12:05

Zdá se mi, že problém by mohl být v

move_contact_solid(direction, -1);

Zkus přepsat na

move_contact_solid(direction, 0);
Nahoru Odpovědět
9.6.2014 12:05
Klient: Nefunguje mi internet co s tím uděláte? Operátor: a co vidíte na monitoru? Klient: No signal...
Avatar
UrbiCZ
Člen
Avatar
UrbiCZ:9.6.2014 17:11

Tak

move_contact_solid(direction, 0)

taky nepomohlo. :(

Nahoru Odpovědět
9.6.2014 17:11
http://snitch.cz/ - web o GameMakeru
Avatar
DooM
Tvůrce
Avatar
Odpovídá na UrbiCZ
DooM:9.6.2014 17:20

http://uloz.to/…mple-gmx-zip
Tu máš můj projekt ještě jednou.

Nahoru Odpovědět
9.6.2014 17:20
Klient: Nefunguje mi internet co s tím uděláte? Operátor: a co vidíte na monitoru? Klient: No signal...
Avatar
UrbiCZ
Člen
Avatar
UrbiCZ:9.6.2014 18:07

Tak dělá to i v té tvé verzi. Jakmile zmáčkneš ve vzduchu u rohu země šipku vpravo, spadneš rychle dolů.

Nahoru Odpovědět
9.6.2014 18:07
http://snitch.cz/ - web o GameMakeru
Avatar
KlimiCZ
Člen
Avatar
Odpovídá na UrbiCZ
KlimiCZ:9.6.2014 18:15

jak děláš ty gifi ?

Nahoru Odpovědět
9.6.2014 18:15
Nesnaž se zakrýt něco, co jsi provedl úmyslně. Svět je tak malý, že dotyčný se to stejně dozví.
Avatar
DooM
Tvůrce
Avatar
Odpovídá na UrbiCZ
DooM:9.6.2014 19:28

U mě se zdá, že to funguje v pořádku:
http://youtu.be/ibN8oxFth5c

Nahoru Odpovědět
9.6.2014 19:28
Klient: Nefunguje mi internet co s tím uděláte? Operátor: a co vidíte na monitoru? Klient: No signal...
Avatar
UrbiCZ
Člen
Avatar
UrbiCZ:9.6.2014 20:42

To přece není možný.

Musíš totiž vychytat přesně ten moment, kdy je player u vrcholu rohu země a pak zmáčknout šipku vpravo. Musí se to provést ve skoku, né během pádu. Určitě ti to udělá taky.

Gify dělám pomocí zachycení obrazovky přes Cam Studio a pak převedu výstupní avi do gifu pomocí Format Factory.

Editováno 9.6.2014 20:43
Nahoru Odpovědět
9.6.2014 20:42
http://snitch.cz/ - web o GameMakeru
Avatar
DooM
Tvůrce
Avatar
Odpovídá na UrbiCZ
DooM:9.6.2014 23:37

Uhm.. A co, kdybys místo pohybování se pomocí x zkusil použít hspeed?
Jen mě to tak napadlo, ale je to asi blbost..
Nejspíš bude chyba někde tady:

// gravitace
 if(place_free(x,y+1)){
     gravity = 0.75;
 }else{
     gravity = 0;
 }
Editováno 9.6.2014 23:38
Nahoru Odpovědět
9.6.2014 23:37
Klient: Nefunguje mi internet co s tím uděláte? Operátor: a co vidíte na monitoru? Klient: No signal...
Avatar
UrbiCZ
Člen
Avatar
UrbiCZ:10.6.2014 10:33

Posun pomocí hspeed taky nepomohl. Zkusím to ještě probrat na nějakém zahraničním fóru. :)

Nahoru Odpovědět
10.6.2014 10:33
http://snitch.cz/ - web o GameMakeru
Avatar
DooM
Tvůrce
Avatar
Odpovídá na UrbiCZ
DooM:10.6.2014 12:58

Jinak by to mohla být taky chyba GM, protože jsem si udělal naprosto rozdílný pohybový systém od toho tvého a dělá to v podstatě to samé.

Nahoru Odpovědět
10.6.2014 12:58
Klient: Nefunguje mi internet co s tím uděláte? Operátor: a co vidíte na monitoru? Klient: No signal...
Avatar
DooM
Tvůrce
Avatar
Odpovídá na UrbiCZ
DooM:10.6.2014 13:02

Teď mě ještě napadlo zkoušel jsi ten move_contact_solid úplně zapoznámkovat?

Nahoru Odpovědět
10.6.2014 13:02
Klient: Nefunguje mi internet co s tím uděláte? Operátor: a co vidíte na monitoru? Klient: No signal...
Avatar
UrbiCZ
Člen
Avatar
UrbiCZ:10.6.2014 16:19

To je dosti k zlosti tedy. Ani zakomentování funkce move_contact_solid nepomohlo. Ale bude to něco s touto funkcí určitě.....

Nahoru Odpovědět
10.6.2014 16:19
http://snitch.cz/ - web o GameMakeru
Avatar
UrbiCZ
Člen
Avatar
UrbiCZ:10.6.2014 16:23

Tak jsem vyzkoušel změnit druhý parametr funkce move_contact_solid na 20 a zdá se mi, že to funguje už v pohodě. Ale nechápu to.....

Nahoru Odpovědět
10.6.2014 16:23
http://snitch.cz/ - web o GameMakeru
Avatar
DooM
Tvůrce
Avatar
Odpovídá na UrbiCZ
DooM:10.6.2014 16:42

Já jsem to právě ještě testoval a snažil se na to přijít. Po zakomentování té funkce to fungovalo, ale byla divná kolize mezi hráčem a zdí, tak jsem maxdist dal na 2 a už to funguje, tak jak má myslím, protože se mi nepodařilo ani po 5 minutách usilování způsobit ten glitch.

Nahoru Odpovědět
10.6.2014 16:42
Klient: Nefunguje mi internet co s tím uděláte? Operátor: a co vidíte na monitoru? Klient: No signal...
Avatar
UrbiCZ
Člen
Avatar
UrbiCZ:10.6.2014 19:42

Tak je to snad vyřešený.....díky za průvod. :D

Nahoru Odpovědět
10.6.2014 19:42
http://snitch.cz/ - web o GameMakeru
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.