Avatar
Neaktivní uživatel:

(předem se omluvám za pravopisné chyby) ahoj lidi(tvl já si nedám pokoj)
mám další problém...jestli jste někdy hrály nějakou strategii a já nevím jak uďelat základ herního rozhraní a to je že kliknete a držíte tlačítho myši a táhnete a tím si označíte jednotky kterím dáváte povely...nevíte někdo jak to uďelat ???

Odpovědět  ±0 1.3.2015 6:49
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:

Ahoj,

předně: výborné zlepšení pravopisu, tu závorku ale taky odstraň a chyby si radši zkontroluj.

Na otázce není nic složitého, nejprve si v objektech reprezentujících jednotky / jejich rodiči definuj proměnnou selected (ve create eventu)

selected = 0;

Poté si vytvoř objekt a nazvi ho např. oSelector

V eventu create definuješ proměnné:

xclick = x;
yclick = y;
draw = 0;

V alarmu[0]

xclick = 0;
yclick = 0;

Ve stepu:

if (mouse_check_button_pressed(mb_left))
  {
    xclick = mouse_x;
    yclick = mouse_y;
    draw = 1;
  }

if (mouse_check_button_relased(mb_left))
  {
  alarm[0] = 1;
  draw = 0;
  }

A nakonec draw:

if (draw = 1)
    {
        draw_rectangle_color(xclick,yclick,mouse_x,mouse_y,c_white,c_white,c_white,c_white,true);
draw_set_alpha(0.1);        draw_rectangle_color(xclick,yclick,mouse_x,mouse_y,c_white,c_white,c_white,c_white,false);
draw_set_alpha(1);
    }
if (!mouse_check_button(mb_left)) {draw = 0;}

Teď se ješte vrať do objektů jednotek a do stepu přidej:

if((x > obj_mouse.xclick && x < mouse_x && y < obj_mouse.yclick && y > mouse_y) || (x > obj_mouse.xclick && x < mouse_x && y > obj_mouse.yclick && y < mouse_y) || (x < obj_mouse.xclick && x > mouse_x && y < obj_mouse.yclick && y > mouse_y) || (x < obj_mouse.xclick && x > mouse_x && y > obj_mouse.yclick && y < mouse_y))
    {
        selected = 1;
    }
    else
    {
        if(!position_meeting(mouse_x,mouse_y,self))
        {
            selected = 0;
        }
    }

Pro kontrolu funkčnosti přidej do jejich draw eventu:

if(selected = 1)
   {
       draw_ellipse_color(x-16,y-6,x+16,y+12,c_white,c_white,true);
   }

   draw_sprite(sprite_index,-1,x,y);

Hodně zdaru :)

Editováno 1.3.2015 7:25
Nahoru Odpovědět  +1 1.3.2015 7:24
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Neaktivní uživatel:

Ještě doplnění, selector by měl mít velmi nízký depth např. -100

Nahoru Odpovědět 1.3.2015 7:31
Neaktivní uživatelský účet
Avatar
TomBen
Redaktor
Avatar
Odpovídá na Neaktivní uživatel
TomBen:

Tys kocoure naučil Mrkev napsat slovo chyby bez chyb!
To smekám klobouk. :-)

Nahoru Odpovědět  +2 1.3.2015 20:35
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Odpovídá na TomBen
Neaktivní uživatel:

Ahoj,

ještě zapracuje na slovech jako:

kterím
uďelat
hrály

taktéž na stylistice a čárkách no a myslím, že tou druhou třídou ZŠ jakž takž projde. :D

Editováno 1.3.2015 20:52
Nahoru Odpovědět  +1 1.3.2015 20:51
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:

no jo no,ale ta chyba ve slově chyby mi docela chybí...neví někdo jak tu malou(ale pro mně významnou)ironii nahradit

mimochodem na ten select kašlete...mámňe se nějak podařilo do 30 sekund smazat víc jak 80% obsahu HDD a já teď nemám tušení kam jsem založil instalačku gamemakeru,na druhou stranu jsem našel dávno stracenej disk Warcraft 3 a datadisc Frozen Throne...

Nahoru Odpovědět  -3 4.3.2015 22:19
Neaktivní uživatelský účet
Avatar
Lukáš Hornych
Redaktor
Avatar
Odpovídá na Neaktivní uživatel
Lukáš Hornych:

Si tu instalačku stáhni ze stránek ne?

 
Nahoru Odpovědět 5.3.2015 16:32
Avatar
Neaktivní uživatel:

No to bych rád jenže to po mně chce kód kterej byl v krabici a já si ho nepamatuju :'(

Nahoru Odpovědět 6.3.2015 8:32
Neaktivní uživatelský účet
Avatar
Lukáš Hornych
Redaktor
Avatar
 
Nahoru Odpovědět 6.3.2015 12:08
Avatar
Neaktivní uživatel:

Není piráta na internetu :D

Nahoru Odpovědět  +1 6.3.2015 16:46
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 10 zpráv z 10.