Goto in Funktionen
Übersicht

Davok`xardenBetreff: Goto in Funktionen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich weis ihr hasst all Goto aber wisst ihr wie man Goto in Functionen benutzt ???
Kann man eine Sprungmarke als Global defieniren ??? Danke |
||
Gott hat euch alle liebt, aber der Rest denk ihr seid [ZENSIERT |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Goto sind für Sprünge im gleichen Scope gedacht, nicht um in Funktionen rein und aus ihnen raus zu springen.
Für solche Fälle wäre Gosub vielleicht das, wonach du suchst ... Oder ein einigermassen brauchbares Codedesign, das Goto garnicht erst braucht. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Davok`xarden |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nein hilft mir leider nicht denn ich habe mein Hauptmenü in eine Funktion gepackt und wenn man auf neues Spielklicht soll das Programm im Hauptprogramm zu einer bestimmten Schleife springen. | ||
Gott hat euch alle liebt, aber der Rest denk ihr seid [ZENSIERT |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dann setze eine globale Variable Namens State
In der Funktion setzt du diesen State Nach der Funktion fürs menü machst du dann ein Select State und springst dann entsprechend. Einfach, nicht? ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Davok`xarden |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dreamora hat Folgendes geschrieben: Einfach, nicht? ![]() Muss ich dann hinter jedem Hauptmenü aufruf ein select einbauen ??? trozdem Danke |
||
Gott hat euch alle liebt, aber der Rest denk ihr seid [ZENSIERT |
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Lies dir einfach mal dieses Tutorial durch:
https://www.blitzforum.de/foru...php?t=6780 |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Was heisst "hinter jedem"
Es gibt nur 1 Hauptmenü in einem Programm. Submenüs sind auch Teil des Hauptmenüs (wie Optionen etc). Und nach diesem Funktionsaufruf (nicht nach der Funktion im Code), gehört dann ein Select hin, das den State - oder auch direkt eine Funktionsrückgabe - auswertet und den entsprechenden Code ausführt. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Davok`xarden |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dreamora hat Folgendes geschrieben: Was heisst "hinter jedem"
Es gibt nur 1 Hauptmenü in einem Programm. Submenüs sind auch Teil des Hauptmenüs (wie Optionen etc). Also mein Spiel hat mehre Spielschleifen zwischen denen Gewechselt wird und in jeder wird bei Druck auf ESC dasselbe Menü aufgerufen (in einer Funktion). Das dieses Menü den Button "Neues Spiel" enthählt muss ich nach jedem Menü-aufruf in die "Neues Spiel"-schleife wechseln. Da das mit Goto nicht geht hast du ja vorgeschlagen ,dass wenn auf "neues Spiel" geklickt wird eine Variabel geändert wird und dann nach jedem Funktion aufruf im Hauptprogramm mit Select die Variabel überprüft wir und dann im Hauptprogramm ein Goto verwendet wird. (Also so hab ich es verstanden) |
||
Gott hat euch alle liebt, aber der Rest denk ihr seid [ZENSIERT |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nein, garkein Goto wird verwendet, da es nicht nötig ist.
Je nachdem, was im Menü ausgewählt wird, wird etwas anderes gemacht. Am Start könnte das ein neues Spiel sein, könnte aber genau so gut auch beenden oder Spiel laden sein oder sonst etwas. Dabei würde ich bei der Menüfunktion auch einen Eingabewert verwenden, der dir sagt, von wo aus das Menü angezeigt wird. zb macht es bei laufendem Spiel keinen Sinn neues Spiel anzuzeigen und logischerweise sollte es im Normalfall bei laufendem Spiel danach auch weitergehen mit dem Spielen (meistens gibt es dort nur Optionsänderungen oder Speichern/Laden, die man nutzt von gelegentlichem Beenden abgesehen), nicht mit einem neustart des Levels oder des gesamten Spieles |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
GOTO wird verwendet, um aus einer komplexen, tief verschachtelten Schleife entweder nach vorne oder nach hinten herauszuspringen.
Für alles andere wird GOTO nicht benötigt. |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
Davok`xarden |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hab mir jetzt das tut durchgelesen das Artemis gepostet hat. Damit sind jetzt alle Fragen geklärt.
Thx & Mfg Davok`xarden |
||
Gott hat euch alle liebt, aber der Rest denk ihr seid [ZENSIERT |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group