Avatar
Loter
Člen
Avatar
Loter:

Ako pridám objecti do tohto kódu. Problém je ten, že keď mám kód zduplikovaní len zmenení object panáčik ide 2x rýchlejšie. (skúšal som aj cez čiarku lenže to nemalo žiadny efekt

//Get the player's input
key_right = keyboard_check(vk_right);
key_left = -keyboard_check(vk_left);
key_jump = keyboard_check_pressed(vk_up);

//React to inputs
move = key_left + key_right;
hsp = move * movespeed;
if (vsp < 10) vsp += grav;


//WALL
if (place_meeting(x,y+1,obj_wall))
{
    vsp = key_jump * -jumpspeed
}

//Horizontal Collision
if (place_meeting(x+hsp,y,obj_wall))
{
    while(!place_meeting(x+sign(hsp),y,obj_wall))
    {
        x += sign(hsp);
    }
    hsp = 0;
}
x += hsp;

//Vertical Collision
if (place_meeting(x,y+vsp,obj_wall))
{
    while(!place_meeting(x,y+sign(vsp),obj_wall))
    {
        y += sign(vsp);
    }
    vsp = 0;
}
y += vsp;
Odpovědět 20.2.2015 23:00
Kto vie dobre programovať, nemusí sa pretvarovať :)
Avatar
Neaktivní uživatel:

Ahoj, můžeš zkonkretizovat problém? Nepochopil jsem otázku.
Mimochodem ten kód není tvůj, doporučuji sepsat si vlastní movement-script, kterému budeš rozumět. ;)

Hodně zdaru :)

Editováno 21.2.2015 8:29
Nahoru Odpovědět 21.2.2015 8:28
Neaktivní uživatelský účet
Avatar
Loter
Člen
Avatar
Loter:

Môj problém je, že code je napísaný tak aby sa rýchlosť, gravity a jumpspeed riadila podľa toho či sa dotýka práve obj_wall. Lenže ja chcem aby to fungovalo napr. aj na obj_plošina, obj_stena, obj_strom... ako pridám to tohto kódu objecti (keď som kód skopíroval a zmenil som obj_wall za iný object moja rýchlos, skok a gravity bola 2x taká, cez čiarku to tiež nedunguje (obj_stena, obj_strom))

Nahoru Odpovědět 21.2.2015 10:18
Kto vie dobre programovať, nemusí sa pretvarovať :)
Avatar
Odpovídá na Loter
Neaktivní uživatel:

Ahoj,

už rozumím tvému problému.
Řešení je jednoduché, řiď se těmito kroky:

  1. Vytvoř si nový objekt a pojmenuj ho par_wall
  2. Všem objektům, pro které chceš aby fungovala kolize nastav jako parent objekt par_wall
  3. Ve "tvém" skriptu nahraď obj_wall --> par_wall

Pokud jsem ti pomohl označ prosím odpověď jako akceptované řešení, díky.

Hodně zdaru :)

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +1 21.2.2015 11:00
Neaktivní uživatelský účet
Avatar
Loter
Člen
Avatar
Loter:

Myslel som že to funguje, ale bohužiaľ sa teraz nedá hýbať :(

Nahoru Odpovědět 22.2.2015 18:17
Kto vie dobre programovať, nemusí sa pretvarovať :)
Avatar
Odpovídá na Loter
Neaktivní uživatel:

Řešení je funkční, chyba musí být na tvé straně, zkonkretizuj problém.

:)
Nahoru Odpovědět 22.2.2015 18:37
Neaktivní uživatelský účet
Avatar
Loter
Člen
Avatar
Loter:

Problém vyriešený, poprehadzoval som omylom zložky. Všetko funguje ako má diki.

Nahoru Odpovědět 22.2.2015 18:48
Kto vie dobre programovať, nemusí sa pretvarovať :)
Avatar
Odpovídá na Loter
Neaktivní uživatel:

Není zač, rád pomůžu, kdybys měl další problém můžeš mi napsat PM, není vždy nutné zakládat vlákna.

Hodně zdaru :)

Nahoru Odpovědět 22.2.2015 18:52
Neaktivní uživatelský účet
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 8 zpráv z 8.