AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte [Spiel] 3D Race (v1.2.6.13-Alpha)
Thema durchsuchen
Ansicht
Themen-Optionen

[Spiel] 3D Race (v1.2.6.13-Alpha)

Ein Thema von AndY92 · begonnen am 22. Mär 2007 · letzter Beitrag vom 4. Apr 2007
Antwort Antwort
Benutzerbild von TOC
TOC

Registriert seit: 5. Jan 2005
Ort: Trier
248 Beiträge
 
Delphi 7 Personal
 
#1

Re: [Spiel] 3D Race

  Alt 24. Mär 2007, 20:13
Hi !

Also, ich hab Deine neue Version grad mal runtergeladen, aber ich hab nicht herausgefunden wie ich das Auto zum fahren überreden kann. Und ich konnte KEINEN Track laden!

Ich vermute Du hast da etwas durcheinandergebracht. Es gibt VERSCHIEDENE Wege wie man das Laden eines Levels progrmmieren kann, zum Beispiel entweder über eine ComboBox ODER über einen TOpenDialog! Da musst Du jetzt die Entscheidung treffen weil es ja DEIN Project ist.

Nehmen wir an Du entscheidest Dich für die Combo-Box-Methode, dann mach es so:

Delphi-Quellcode:
procedure TForm2.FormShow(Sender: TObject);
begin
  // Beim Programmstart alle Level in ComboBox einlesen.
  LoadLevelsToComboBox;
end;

Procedure TForm2.LoadLevelsToComboBox;
Var
  SR:TSearchRec;
Begin
  // Aktuelles Verzeichniss auf das Verzeichniss setzen in dem das Programm liegt
  SetCurrentDir(ExtractFileDir(ParamStr(0)));
  Try
    // Such mal im aktuellen Verzeichnis ne Datei mit der Endung *.trk...
    If FindFirst('*.trk',0,SR)=0 then Begin
      // ...es wurde eine gefunden, also wiederhole...
      Repeat
        // ...Schreib den Namen des Levels in die Combobox...
        LevelComboBox1.Items.Add(SR.Name);
      // ...und mach dat ganze sooft bis kein weiterer Level mehr kommt!
      Until FindNext(SR)<>0;
    End;
  Finally
    // Zum Schluss UNBEDINGT den Speicher vom SearchRecord freigeben
    FindClose(SR);
    // Und den ersten Level auswählen
    LevelComboBox1.ItemIndex:=0;
  End;
End;
Wenn Du dies in Dein Programm einfügst dann werden beim Programmstart alle *.trk AUTOMATISCH in Deine Comobox hineingeschrieben. Lösche also im Obejkinspecktor mal die Items der Combobox, lass die komplett weg! Übrigens, was da oben in dem Beispiel "LevelComboBox1" heisst must Du auf den Namen Deiner ComboBox in Deinem Programm ändern, vermutlich "ComboBox1".
Füge diese zwei Prozeduren mal in Dein Programm ein und ändere NUR den ComboBox Namen.

Dann brauchst Du noch folgendes:

Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
Begin
  LoadLevel(ComboBox1.Text);
end;
Ja, und ich setze mal voraus das Du ein Unterprogramm hast das den Level lädt und als Eingangs-Parameter gern den Namen des Levels hätte, also in etwa sowas:

[/delphi]
procedure TForm2.LoadLevel(FileName: String);
Begin
// Hier muss dann der Level "FileName" geladen werden!
End;
[/delphi]

Ich hoffe ich habe es diesmal gut genug erklärt, sonst frag einfach nochmal wenn Du was nicht verstanden hast oder es nicht funktioniert.

Grüsse von TOC !
Lars Uwe Hohmann
"Wäre die Erde eine Bank, ihr hättet sie längst gerettet!"
(Zitat GreenPeace)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz