Skocz do zawartości

Lib Builder - Argumenty


Rekomendowane odpowiedzi

A więc tworzę liba, który będzie tworzył menu za pomocą tablic. Niestety będę musiał zrobić 2 klocki, bo 6 argumentów to za mało. Jeden od fontu, koloru, czcionki, a drugi od tablic typu string. Teraz chciałbym, aby ten pierwszy przekazał argumenty drugiemu klockowi. Użyć od tego Action Id? Np.

draw_set_color(id_klocka_pierwszego.argument0)

Czy może nazwy klocka? Proszę o pomoc.

 

@Edit: Może nikt nie zrozumiał? Są dwa klocki. Set color i draw text. I set color przekazuje argument dla draw text jakiego koloru ma być ten tekst. Rozumiecie? Jak to zrobić?

Odnośnik do komentarza
Udostępnij na innych stronach

Tak, użyj Action ID.

 

Ale wystarczy że dasz pierwszy klocek draw_set_color a pod nim ten klocek z draw_text to bedzie draw_text mial kolor z draw_set_color.

 

pierwszy klocek

draw_set_color(argument0)

 

drugi klocek

draw_text(argument0,argument1,argument2)

 

Troche nie czaje o co ci chodzi.

Odnośnik do komentarza
Udostępnij na innych stronach

Aj Maxpayn. Ja podałem w Edit przykład klocków. W moim tak nie mogę zrobić, bo tu są 2 kolory. Kiedy jest Start Game np. zaznaczone to jest argument0 kolor, a kiedy nie to argument1 kolor (z pierwszego klocka do drugiego) .

 

Ale to już nie ważne. Teraz mam błąd: Gdy przeciągam 1 klocek (ten z czcionką itp.) to wyskakuję błąd: List Index out of bounds (1) . O co chodzi?

Odnośnik do komentarza
Udostępnij na innych stronach

Maxpayn: W pierwszym mam 5 argumentów, a w drugim 6. W drugim mam to:

//tablica = argument

m[0]=argument0;
m[1]=argument1;
m[2]=argument2;
m[3]=argument3;
m[4]=argument4;
m[5]=argument5;

//kilka zmiennych

kursor=0;
kursor_max=5;
step=1

//ustawienie fonta

draw_set_font(1.argument2);

//rysujemy menu

for (i=0;  i<=kursor_max;  i+=1;)
{
if step=1
{
if i=kursor then draw_set_font(1.argument0); else draw_set_font(1.argument1);
draw_text(1.argument3,1.argument4+i*1.argument5,m[i]);
}
}

//kontrola

if step = 1
{
if keyboard_check(vk_up)
{
if kursor > 0 then kursor-=1; else kursor = kursor_max;
}
if keyboard_check(vk_up) 
{
if kursor < kursor_max then kursor+=1; else kursor = 0;
}
}

//zapamietanie

if keyboard_check(vk_space) step=2;

 

I co tu jest źle? Pierwszego ID to 1, a drugiego 2.

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