Skocz do zawartości

Inventory


Ogrodnik

Rekomendowane odpowiedzi

Siema, probuje napisac inventory, narazie chce zeby rysowało w linii x ilość slotów załóżmy 10 po czym obniżyć linię y by znów rysowało kolejne 10 slotów i tak dalej

Problem polega w tym ze nie działa :/

Nie wiem co z tym zrobić moje skillsy są za małe, pomóżcie, nie wiem co z tym zrobić a bardzo chcę zrozumieć to.

 

GML
/// EQ zmienne

max_slots = 15; // ilosc slotow

invx = 48 // X inventory

invy = 48 // Y inventory

slotx = 48 // pozycja slota x

sloty = 48 // pozycja slota y

 

 

GML
/// Draw

var i = 0;

var k = 1;

var j = i;

 

for (i = 0; i < max_slots; i+=1) {

 

sloty = sloty * k;

 

if j == 10 {

j = 0;

slot_x = 48;

if j = 0 {

k += 1;

}

 

} else {

draw_sprite(spr_slot,0,slotx * j,sloty * k);

slot[i,0] = slotx * j; // Pozycja x slota i

slot[i,1] = sloty * k; // Pozycja y slota i

draw_set_colour(c_white);

draw_text(slotx * j,sloty * k,slot[i,0]); // debug 1 = y slota, 0 = x slota */

j+=1;

 

}

 

}

 

Całość rysuje się po pewnym czasie od wystartowania zamiast odrazu po czym rysuje do 432 po czym ucina i reszta sie nie pojawia ani na prawo ani na dole poprostu znika.

Odnośnik do komentarza
Udostępnij na innych stronach

Całość rysuje się po pewnym czasie od wystartowania zamiast odrazu

może obiekt pojawia się dopiero po pewnym czasie?

 

po czym rysuje do 432 po czym ucina i reszta sie nie pojawia ani na prawo ani na dole poprostu znika.

tutaj nie rozumiem, musiałbyś pokazać

 

narazie chce zeby rysowało w linii x ilość slotów załóżmy 10 po czym obniżyć linię y by znów rysowało kolejne 10 slotów i tak dalej

 

GML
for(i=0;i<=9;i+=1){

for(a=0;a<=3;a+=1){

draw_sprite(sprite,0,slotx+i*invx,sloty+a*invy)

}

}

 

 

for(i=0;i<=29;i+=1){

draw_sprite(sprite,0,slotx+(i mod 10)*invx,sloty+(i div 10)*invy)

}

 

i mod 10 - reszta z dzielenia przez 10

i div 10 - dzielenie z zaokragleniem w dol

Odnośnik do komentarza
Udostępnij na innych stronach

Trochę uprościłem, tylko dodaj w create ile ma mieć kolumn i wierszy.

GML (DRAW)
for(var i=0; i < kolumny; i++)

{

for(var j=0; j < wiersze; j++)

{

draw_sprite(spr_slot, 0, invx + slotx*i, invy + sloty*j);

}

}

Edit: dla czego nie widziałem postu karolo wcześniej?

Ps: karolo powinno być invx + slotx*i itd.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 4 tygodnie później...

Ponawiam, probowalem bezskutecznie samemu, wiec siegam znowu po pomoc.

 

nie potrafie wykorzystac dobrze teraz tego by zapisac sobie pare informacji o slotach w stylu x, y, nr slota przez dzialanie petli, rozumiem blad, nie potrafie go rozwiazac, help :(

Odnośnik do komentarza
Udostępnij na innych stronach

ponawiam prosbe o pomoc, naprawde siedziałem nad tym i nie potrafie sobie z tym sam poradzic, chociaż jakieś wskazówki, byłbym bardzo wdzięczny, chociaż żebym sensownie mógł przydzielić każdemu slotu jego własne x,y i jego numer.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...