JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=944711615dd284653645bc1812ce63beMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Menüs...

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 26.07.2003, 09:27    Titel: Menüs... Antworten mit Zitat

Hi!

Jedes Spiel braucht ja ein Menü, nicht wahr? Wink

Deshalb wollte ich gleich mal anfangen, aber wie bei jeder neuen Erweiterung des Programs sollte man ja nicht einfach so drauf loscoden!
Ich habe mir überlegt eine ObjectClass dafür zu schreiben. Ja das ist weiterhin auch kein Problem und es ist ja auch sehr praktisch und handhablich so alles unter einem Dach zu haben, aber...

wenn ich einen Menüpunkt anklicke, kann ja einfach nur das Untermenü kommen, okay nichts besonderes, aber jetzt kommst:
es kann/muss aber auch manchmal noch zusätzlich eine Aktion ausgeführt werden, z.B. Spiel starten, SPiel speichern, Spielstand laden, Sound an/aus,....

da ich ja jett eine ObjectClass haben will, wollte ich ein neues Menü ja so in der ARt hinzufügen:

MenuClass.AddMenu("Optionen","Hauptmenu");
// 1. Name des Menus 2. Name des übergeordneten Menüs

MenuClass.AddMenu("Grafik","Optionen");
....

so in der Art soll das später dann aussehen,
aber wie kann ich einem Objekt dann Aktionen zuweisen?
Einfach einen Funktionszeiger übergeben?
aber dann ist ja nicht alles zusammen im COde, was zusammengehört und das finde ich auch etwas blöd...

habt ihr eine bessere Lösung, oder wie habt ihr das gemacht?
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 26.07.2003, 10:44    Titel: Antworten mit Zitat

Der Code, den ein spezieller Menupunkt eventuell ausführen soll, gehört nicht in eine Menuklasse, deshalb ist eine Callbackfunktion angebracht und richtig. (Funktionszeiger)

AFE-GmdG
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 26.07.2003, 10:47    Titel: Antworten mit Zitat

PS.: Ich würde die AddMenu-Funktion überladen, so dass es eine Funktion gibt, die ein TopLevelMenu ist, also ohne übergeordnetes Menu, eine Funktion wie du beschriebven hast und noch zwei Funktionen, die noch einen je Funktionszeiger übergeben bekommen. Je eine Variante für TopLevel und UnterMenu...
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 26.07.2003, 12:40    Titel: Antworten mit Zitat

Ich hab mir auch schon mal ne Routine für Menüs geschrieben. Ich mache da einfach ne Extrafunktion die sieht dann ungefähr so aus:
Code:
void MenuExtra(char* menupunkt)
{
    if(strcmp(menupunkt,"Spiel starten"))
    {
        Spiel=true;
        Initialisieren();
        //[...]
    }
    else if(strcmp(menupunkt,"Sound"))
    {
        if(sound==true) sound=false;
        else sound=true;
    }
}

_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 26.07.2003, 12:43    Titel: Antworten mit Zitat

Ich habe einen Teil in meiner Engine für Menus. Die läd eine Menü-Ressource und ein Skript. Und daraus wird dann das Menü erstellt.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum