Skocz do zawartości

Problem Spritowo-Obiektowy


alwin

Rekomendowane odpowiedzi

Siema, mam mały problem w moim rts-ku. Mianowicie zrobiłem taki systemik który pokazuje jakie jednostki mamy zaznaczeni- np. 2 piechurów, 3 łuczników i 1 mag- po ich zaznaczeniu pokazują się ikonki odpowiednio- 2 ikonki piech., 3 ikonki łuczników i 1 ukazująca maga.

Zrobiłem to za pomocą Spritów ale chciałbym to poszerzyć- tzn aby dodatkowo mogło sięnaciskać daną ikonkę a wtedy zostanie zxaznaczony z tej grupy ten kogo zaznczyliśmy.

Tylko że sprtów nie można naciskać:/ Jak moznaby to rozwiązać za pomocą obiektów?

 

 

 

GML
if(global.zaznaczeni>0){ // jezeli zaznaczonych więcej niz o

for ( i = 0; i < global.zaznaczeni; i += 1 ) //pętla wykonuje się tyle razy ilu mamy zaznaczonych- sprawdza kazdego

{

// PIECHUR

for ( a = 0; a < global.zaznaczeni_piechur; a += 1 ) // sprawdza zaznaczonych piech

{

 

icon=draw_sprite(spr_button_piechur,0,204+view_xview[0]+a*22,view_yview[0]+10) //*22 bo taka szer sprita ikonki

 

}

 

 

// ROBOTNICA

for ( b = 0; b < global.zaznaczeni_robotnica; b += 1 )

{

 

icon=draw_sprite(spr_button_pracownik,0,204+view_xview[0]+(global.zaznaczeni_pie

chur*22)+(b*22),view_yview[0]+10) //(global.zaznaczeni_piechur*22) poniewarz od pozycji ostatniej ikonki piechura rysujemy nowe

}

 

// lucznik

for ( c = 0; c < global.zaznaczeni_lucznik; c += 1 )

{

 

icon=draw_sprite(spr_button_lucznik,0,204+view_xview[0]+((global.zaznaczeni_robo

tnica+global.zaznaczeni_piechur)*22)+(c*22),view_yview[0]+10) // ((global.zaznaczeni_robotnica+global.zaznaczeni_piechur)*22) dodanie ilu zaz rob i piech, od tego miejsca ikonki rysujemy

}

 

// mag

for ( d = 0; d < global.zaznaczeni_mag; d += 1 )

{

 

0)

icon=draw_sprite(spr_button_mag,0,204+view_xview[0]+((global.zaznaczeni_robotnic

a+global.zaznaczeni_piechur+global.zaznaczeni_lucznik)*22)+(d*22),view_yview[0]+1

0)

}

 

 

}

 

}

Odnośnik do komentarza
Udostępnij na innych stronach

po prostu zmien w kazdej petelce z draw_sprite na instance_create czyli:

GML
icon=instance_create(204+view_xview[0]+a*22,view_yview[0]+10,obiekt)

 

I przed petla usuwaj wszystkie obiekty danego typu przy pomocy petli:

GML
while(instance_number(obiekt)>0)

{

with(obiekt){instance_destroy();}

}

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