Skocz do zawartości

Niedziałający plecak.


m97

Rekomendowane odpowiedzi

Witam, zacząłem pisać mój pierwszy plecak. Oto kod odpowiedzialny za przenoszenie obiektów w plecaku do różnych kratek przez użytkownika(ten kod nie jest skończony on jedynie ma niszczyć obiekt w danej kratce):

GML
d = 0

if(otwarty = true){

if mouse_check_button(mb_left){

while(d < 25){

x = mouse_x div 32*32

y = mouse_y div 32*32

if(x = view_xview+224+(d*32)){

if(y = view_yview+160+((25/5)*d)){

if(plecak[d,0] = true){

plecak[d,1] = sprite15

plecak[d,0] = false

}

}

}

d += 1

}

}

}

d = 0

Problem w tym, że kod niszczy mi w plecaku tylko obiekt znajdujący się w pierwszej kratce a innych nie chce. Nie wiem dlaczego tak się dzieje.

plecak[d,0] - dwuwymiarowa tablica plecaka. Pierwsza liczba to numer kratki a druga to :

0 - plecak pełny lub pusty true / false

1 - sprite obiektu w danej kratce

sprite15 - jest to sprite stosowany gdy w kratce nie ma żadnego obiektu

Odnośnik do komentarza
Udostępnij na innych stronach

if(y = view_yview+160+((25/5)*d))

 

ta linijka jest zła. Pierwsza klatka to 0. czyli 224,160. W drugiej klatce masz już pozycje 224+32,160+5 :)

 

Sprobuj: Może nie działać, nie chce mi sie myslec...

GML
if(x = view_xview+224+(max(1,zaokraglenie_w_dol(d/ilosc kratek w poziomie))*(d*32)){

var omg;

if zaokraglenie_w_dol(d/ilosc kratek w poziomie-1)=0 then omg=d else omg=d mod ilosc kratek w poziomie

if(y = view_yview+160+omg){

}

}

 

EDIT: jesli jest wiecej niz jeden rzad w pionie, to linijka z if x=... tez jest zla :P

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ę...