Avatar
Neaktivní uživatel:

Mám menší problém s pohybem inventáře za postavou
( inventář se otevře (klávesa b) ale v rohu mísnosti. Místnost je velká zhruba 20000x20000)
Chtěl bych aby se inventář otevřel u postavy.
Prosím o pomoc. Předem děkuji.
o_O

Odpovědět 28.5.2012 14:06
Neaktivní uživatelský účet
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Neaktivní uživatel
David Čápka:

Vykresluj inventář na souřadnice postavy nebo ho tam přesouvej v údálosti EndStep.

Nahoru Odpovědět 28.5.2012 14:27
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
Nahoru Odpovědět 29.5.2012 17:23
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:

Sakra kde to v tom kódu je?

draw_set_font(in­v_font);
draw_set_color(in­v_c2);
draw_rectangle(in­v_x,inv_y,inv_x+in­v_widthinv_grid,in­v_y+inv_heightin­v_grid,obj_cha­racter);

for (X=obj_charac­ter;X<inv_wid­th;X+=1) {
for (Y=obj_charac­ter;Y<inv_heig­ht;Y+=1) {
draw_set_color(in­v_c1);
draw_rectangle(in­v_x+Xinv_grid,in­v_y+Yinv_grid,in­v_x+inv_grid+in­v_gridX,inv_y+in­v_grid+inv_gri­dY,1);
draw_set_color(in­v_slotc)
if jemys(inv_x+in­v_gridX,inv_y+in­v_gridY,inv_x+in­v_gridX+inv_grid,in­v_y+inv_gridY+in­v_grid) then draw_rectangle(in­v_x+Xinv_grid+1,in­v_y+Yinv_grid+1,in­v_x+inv_grid+in­v_gridX-1,inv_y+inv_grid+in­v_gridY-1,0)
if jemys(inv_x+in­v_gridX,inv_y+in­v_gridY,inv_x+in­v_gridX+inv_grid,in­v_y+inv_gridY+in­v_grid) and mouse_check_but­ton_pressed(mb_lef­t) then {inv_vybranex=X+1;in­v_vybraney=Y+1}
if inv_vybranex=X+1 and inv_vybraney=Y+1 {
draw_set_color(in­v_slotcs);
draw_rectangle(in­v_x+Xinv_grid+1,in­v_y+Yinv_grid+1,in­v_x+inv_grid+in­v_gridX-1,inv_y+inv_grid+in­v_gridY-1,0)
}
draw_set_color(in­v_rcolor);
draw_rectangle(in­v_x,inv_y+20+in­v_gridinv_heig­ht,inv_x+inv_rwid­th,inv_y+inv_rhe­ight+inv_gridin­v_height,0);
draw_sprite_ex­t(object_get_spri­te(inv_item[X+1,Y+1]­),0,inv_x+Xin­v_grid,inv_y+Y­inv_grid,inv_grid/spri­te_get_width(ob­ject_get_spri­te(inv_item[X+1,Y+1]­)),inv_grid/spri­te_get_height(ob­ject_get_spri­te(inv_item[X+1,Y+1]­)),0,c_white,1);
if inv_itemcount[X+1,Y+1]!­=0 then draw_text(inv_x+in­v_gridX,inv_y+in­v_gridY,strin­g(inv_itemcou­nt[X+1,Y+1]));
if jemys(inv_x,in­v_y,inv_x+inv_wid­thinv_grid,in­v_y+inv_heightin­v_grid) then {
inv_obj=inv_get_i­tem_xy(mouse_x,mou­se_y);
draw_set_color(in­v_rfcolor);
if inv_obj!=inv_fre­eslot then inv_text=o_in­ventar.inv_po­pis[inv_obj] else inv_text=o_in­ventar.inv_po­pis[inv_frees­lot];
draw_text(inv_x+3,in­v_y+20+inv_grid*in­v_height+5,in­v_text);
}
}
}

if inv_vybranex!=0 and inv_vybraney!=0 {
if keyboard_chec­k_pressed(vk_de­lete) then inv_delete_item(in­v_vybranex,in­v_vybraney);
if keyboard_chec­k_pressed(vk_en­ter) then execute_strin­g(o_inventar.in­v_kod[inv_get_i­tem(inv_vybra­nex,inv_vybra­ney)]);
}

Nahoru Odpovědět 29.5.2012 17:51
Neaktivní uživatelský účet
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Neaktivní uživatel
David Čápka:

Pokud jsi to psal, tak bys to skoro měl vědět. Jinak na vložení kódu se používá "Vložení zdrojového kódu".

Nahoru Odpovědět 29.5.2012 19:35
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
Neaktivní uživatel:

Ne vážně, kde to v tom je?

Nahoru Odpovědět 29.5.2012 20:13
Neaktivní uživatelský účet
Avatar
Nahoru Odpovědět 29.5.2012 20:16
Čím více času dostaneš, tím méně ho máš.
Avatar
Neaktivní uživatel:

A pak že se tady člověk dozví co potřebuje

Nahoru Odpovědět 29.5.2012 20:40
Neaktivní uživatelský účet
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Neaktivní uživatel
David Čápka:

Ve svém kódu jsi použil proměnné inv_x a inv_y, jistě k tomu, abys jejich nastavením poté mohl inventář posouvat :`

Nahoru Odpovědět 29.5.2012 21:18
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
Odpovídá na Neaktivní uživatel
David Jančík [sczdavos]:

Je to hrozně nepřehledný.

for (X=obj_character;X<inv_width;X+=1) {

V tomhle cyklu se vykresluje inventář? Pokud ano tak tam by mělo být obj_character.x a měl bys k tomu přičíst nějakou hodnotu aby ti to vykreslovalo hezky vedle postavičky.

A tady u toho to asi bude to samý.

draw_rectangle(inv_x,inv_y,inv_x+inv_widthinv_grid,inv_y+inv_heightinv_grid,obj_character);

Z toho kódu se toho nedá moc vyčíst. Příště prosím použij tag

(vložení zdrojového kódu) a podej nám informace v čitelné podobě a tak abychom z nich mohli něco vyčíst poradit ti s problémem.
Nahoru Odpovědět 29.5.2012 21:28
Čím více času dostaneš, tím méně ho máš.
Avatar
Neaktivní uživatel:

Díky. To si ve svém kódu opravím.

Nahoru Odpovědět 30.5.2012 14:21
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 11 zpráv z 11.