Skocz do zawartości

Bardzo proste menu


Rekomendowane odpowiedzi

1.

GML
if opt=1 // jesli opcja=1

draw_sprite(sprite0,0,x,y) // rysujemy sprite0 na wysokosci napisu "start"

if opt=2 // jesli opcja=2

draw_sprite(sprite0,0,x,y+48) // rysujemy sprite0 na wysokosci napisu "exit"

if opt=3 // jesli opcja=3

draw_sprite(sprite0,0,x,y+96) // rysujemy sprite0 na wysokosci napisu "cos innego"</span></span></span></span>

->

GML
draw_sprite(sprite0,0,x,y+( opt - 1 ) * 48)

2.

GML
if opt=1 // jesli opcja=1

{show_message('Start!') // pokazuje sie wiadomosc "start"

room_goto_next()} // idziemy do nastepnego rooma

if opt=2 // jesli opcja=2

game_end() // konczymy gre

if opt=3 // jesli opcja=3

{

show_message('Costam') // pokazuje sie wiadomosc "costam"

}

->

GML
switch( opt )

{

case 1:

show_message('Start!') // pokazuje sie wiadomosc "start"

room_goto_next()} // idziemy do nastepnego rooma

break;

case 2:

game_end() // konczymy gre

case 3:

show_message('Costam') // pokazuje sie wiadomosc "costam"

break;

}

 

W dodatku:

https://gmclan.org/index.php?czytajart=24

Odnośnik do komentarza
Udostępnij na innych stronach

No i? Codziennie posługuję się prostymi rzeczami - np. łyżką. Ale nie jest krzywa, wygięta i wysmarowana klejem tylko dlatego, że to prosta rzecz.

 

Przykład jest słaby jak barszcz. https://gmclan.org/index.php?czytajart=24. Dziesięć razy mniej kodu, a lepiej i wydajniej przy tym samym efekcie. Z miłości do ciebie daję ci jedynkę na zachętę.

Odnośnik do komentarza
Udostępnij na innych stronach

Gdyby menu było oparte na tablicach oraz jakiejkolwiek logice - może i owszem.

Lepszy?

Nie wiem, nie testowałem tego, co podałeś.

Nic też na ten temat nie napisałem. Pisałem, że mojego kodu jest mniej

Nikogo nie obchodzi, co pisałeś. Przykład gnyska jest bardziej elastyczny, zawiera MNIEJ kodu (policz znaki, a później się wymądrzaj ;)) i jest całkowicie logiczny - masę stałych zamieniamy w jedną, sensowną tablicę.

 

Niby prosty przykład, a i tak da radę skopać...

Odnośnik do komentarza
Udostępnij na innych stronach

te switche sa szybsze niż ify? bo switch zajmuje 10 linijek, a if 7(w tym przypadku+nie liczac klamer).

 

Kod ze stepa mogłeś dać w eventach key down i key up, byloby wiecej kodu, ale chyba szybciej, bo nie sprawdzaloby co stepa, tylko wtedy jak klikniesz. To wysowanie tak jak Sernat pisał, a pozatym to nawet fajny przyklad :D

Odnośnik do komentarza
Udostępnij na innych stronach

te switche sa szybsze niż ify? bo switch zajmuje 10 linijek, a if 7(w tym przypadku+nie liczac klamer).

Hahahahahahahahaha :D

Kod ze stepa mogłeś dać w eventach key down i key up, byloby wiecej kodu, ale chyba szybciej, bo nie sprawdzaloby co stepa, tylko wtedy jak klikniesz. To wysowanie tak jak Sernat pisał, a pozatym to nawet fajny przyklad :D

Proszę, nie pisz, jeśli nie jesteś pewien, bo być może wprowadzisz kogoś w błąd. A to, co napisałeś to jedna wielka kpina :P . Nie trzeba chyba nawet pisać, dlaczego :P .

Odnośnik do komentarza
Udostępnij na innych stronach

Nie, trzeba. Naprowadź mnie, mistrzu.

 

E: pierwszy to było pytanie, więc nie byłem pewny :) A drugie, w Twoim kodzie sprawdza co step, czy jest wciśnięty przycisk1,2 i 3+czy jest to cośtam, a w moim tylko przyciski i w razie czego robi to coś, taka ma logika.

 

E2: Dam przykład:

 

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

costam;

}

if key_1

costam

if key_2

costam2

if key_3

costam3

 

vs.

 

if key_1{

costam

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

costam;

}

}if key_2{

costam2

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

costam;

}

}if key_3{

costam3

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

costam;

}

}

 

Który kod będzie szybszy?

Odnośnik do komentarza
Udostępnij na innych stronach

Nie istnieje żadna analogia między pierwszym przypadkiem, a drugim. Teraz zapodaj przykład ze switchami i przykład z ifami.

Pierwszy.

EDIT:To znaczy drugi bo przy pierwszym pętla jest wykonywana za każdym razem, a w drugim tylko wtedy gdy naciśnięty jest klawisz.

Hahaha, i to go totalnie kasuje już na starcie, bo w przykładzie Bedzioma kod się wykonywał w obu przypadkach przy wciśnięciu klawisza.

 

Nie ucz wody jak się zamoczyć, Karolo ;) .

 

Pomijam już fakt, że liczba linijek kodu nijak ma się do wydajności, logiki i wygody. Za cholerę tego nie rozumiesz.

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