AGB  ·  Datenschutz  ·  Impressum  







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

[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
Seite 3 von 8     123 45     Letzte » 
AndY92
hi hier ist mal wieder eins meiner unfertigen Projekte: ein 3D Rennspiel!

Was ich bei diesem projekt vorallem brauche ist eure mithilfe ich lad immer wieder .exe bzw. .rar Dateien hoch und poste noch was dazu.

Viel spaß ^^ und danke fürs angucken
Angehängte Dateien
Dateityp: rar 3d_race_226.rar (350,7 KB, 259x aufgerufen)
Dateityp: exe project1_104.exe (420,0 KB, 79x aufgerufen)
 
AndY92
 
#21
  Alt 23. Mär 2007, 14:53
haha vielen dank aber das system das ich benutze steht schon fest ^^ ich muss eben nur nen editor machen damit man aus nem benutzerfreundlichen Programm ne strecke machen kann.

EDIT: ich meine das Laden und Speichern funktioniert schon ich bruach nur noch n programm ^^
  Mit Zitat antworten Zitat
Benutzerbild von TOC
TOC

 
Delphi 7 Personal
 
#22
  Alt 23. Mär 2007, 15:48
Hi!

Zitat von AndY92:
haha vielen dank aber das system das ich benutze steht schon fest ^^ ich muss eben nur nen editor machen damit man aus nem benutzerfreundlichen Programm ne strecke machen kann.
Egal, mir war heute morgen langweilig und ich hatte nix besseres zu tun als irgendwas am Computer zu basteln. Man kann das Programm aber im Prinzip für alle Spiele benutzen die ein 2-D Spielfeld haben, zum Beispiel solche Spiele wie LoadRunner oder Labirynth-Spiel etc., jeder Art von Stein oder Kiste oder was auch immer bekommt ne Nummer und so kann der Computer das beliebig grosse Spielfeld malen und zusammensetzen, jede Nummer steht für eine kleine Grafik an einer bestimmten Position des Spielfeldes usw..

Hey, Dein Auto braucht unbedingt RÄDER! Oder mach das Design doch einfach etwas moderner und mach ein Schwebefahrzeug draus, einen Gleiter also, dann kannst Du dir die Räder sparen. Aber dann solltest Du einen Schatten unter den Gleiter machen das man sieht das er schwebt!

Und Du soltest die Entfernung so einstellen das man beim Programmstart gleich einen Teil der Strecke sieht, und ich finde das Auto sollte nit grad so klein werden!

Bin mal gespannt wie sich Dein Programm weiterentwickelt!

Grüsse von TOC!
Lars Uwe Hohmann
  Mit Zitat antworten Zitat
AndY92
 
#23
  Alt 23. Mär 2007, 18:19
Ok der Editor ist Fertig und Up Testen + Kommentieren wär nett
  Mit Zitat antworten Zitat
Benutzerbild von TOC
TOC

 
Delphi 7 Personal
 
#24
  Alt 23. Mär 2007, 21:25
Hi!

Zitat von AndY92:
Ok der Editor ist Fertig und Up Testen + Kommentieren wär nett
Ok, ich hab ihn getestet, es hat geklappt. Aber Deine Strecke hat ja immer nur 8*8, das ist vieeeeel zu wenig! Mach doch mal die Anzahl der Spalten und Zeilen veränderbar, dann könnte jeder beliebig lange Rennstrecken herstellen! Bei 8*8 biste mit nem Rennaute dat von 0 auf 100 in 3 Sekunden kommt doch schon nach 4 Sekunden durch die ganze Strecke durch! Ausserdem weiss Dein Auto bei meinem selbst gemachten Level gar nit wo der Anfang oder dat Ende der Strecke ist!

Grüss von TOC!
Angehängte Dateien
Dateityp: zip firsttrackfromtoc_162.zip (166 Bytes, 15x aufgerufen)
Lars Uwe Hohmann
  Mit Zitat antworten Zitat
Benutzerbild von TOC
TOC

 
Delphi 7 Personal
 
#25
  Alt 24. Mär 2007, 15:19
Hi!

Ok, also gut, ich habs noch mehr getestet! Einige Sachen finde ich nit grad so gut. Zum Beispiel ist das Fenster "Level laden" in Deinem Programm ein extra Fenster, und das hat Nachteile. Normalerweise haben Fenster ein Menü, zum Beispiel "Datei/Level Laden" und so weiter. Normalerweise macht man sowas mit TMainMenü und einem OpenDialog. Der OpenDialog zeigt Dir dann alle Level an und man kann dann einen aussuchen und laden- praktische Methode. Aber bei Dir stehen leider nur zwei Level in der ComboBox von Deinem Programm zum auswählen ! Wenn man sich mit Deinem Editor neue Level gemacht hat und sie im richtigen Verzeichniss stehen dann stehen sie trotzdem nit in der ComboBox und man muss ihre Namen von Hand eingeben- nicht so gut.

Probier doch mal das hier:

Delphi-Quellcode:
Procedure TForm1.LoadLevelsToComboBox;
Var
  SR:TSearchRec;
Begin
  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;
und dann in FormShow:

Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin
  LoadLevelsToComboBox;
end;
Dies hat den Vorteil das Dein Programm dann beim Start alle Level sucht und in die ComboBox schreibt, das macht für den Spieler alles viel einfacher!

Ja, und wenn man aus versehen das Level-lade-Fenster zugeklickt hat und will sich nochmal nen anderen Level ansehen dann muss man das ganze Programm beenden und nochmal neu starten...

Und ausserdem kann man total unsinnige Level eingeben mit dem Editor, weil er nicht prüft ob die einzelnen Teilstrecken auch mit den Strecken der benachbarten Feldern anbschliessen . Beweis: Im Zip im Anhang ist ein Level "NonsensLevelByToc", denn kannst Du Dir ja mal ansehen, dann weist Du was ich meine. Dein Editor sollte also schon besser mal prüfen ob die Eingabe des Anwenders sinnvoll ist, finde ich.

Im Anhang ein Programm das Dir zeigt wie das mit dem TOpenDialog und TMainMenu geht oder mit allen Tracks in ner ComboBox!

Aber bis auf die paar Punkte find ich Dein Programm gar nit so schlecht, bastel Du ruhig schön weiter daran herum !

Ok, bei dem Programm im Anhang hab ich es beim Zeichnen des geladenen Levels ganz schön übertrieben , aber mir war eh grad langweilig und da hab ich es halt mal so gebastelt.

Grüsse von TOC !
Angehängte Dateien
Dateityp: zip loadlevel-2_166.zip (714,9 KB, 7x aufgerufen)
Lars Uwe Hohmann
  Mit Zitat antworten Zitat
AndY92
 
#26
  Alt 24. Mär 2007, 16:01
Man hast du viel geschireben ^^

Also das mit dem open dialog hab ich versucht hat ned geklappt ich mach halt mal das was du da hingeschireben hast...

Das das nich so.... benutzerfreundlich is kann ich nicht abstreiten aber is ist ja auch nur dazu da das Prinzip zu Testen. ^^


btw: hab ne neue version mann kann jetz fahren aber es gibt noch n bug mit der höhe vom auto ich arbeite dran ^^





Ok, Toc ,ich hab einen teil übernommen aber an einer stelle gibtsn problem_
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
Begin
  With OpenDialog1 do If Execute
                      Then ComboBox1.Text := FileName;


end;


nämlich wenn ich über den Open Dialog was Lade Steht da nicht einfach der Name der Strecke.trk sondern der ganze pfad... (C\Programme\Borland\Delphi7.......) undd as gibt nen fehler beim laden.
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

 
Delphi 2009 Professional
 
#27
  Alt 24. Mär 2007, 19:53
ExtractFileName(...) gibt nur den Filename zurück...

PS: Laden müsstest du natürlich mit Pfad ^^
Fabian
  Mit Zitat antworten Zitat
Benutzerbild von TOC
TOC

 
Delphi 7 Personal
 
#28
  Alt 24. Mär 2007, 21: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
  Mit Zitat antworten Zitat
Benutzerbild von TonyR
TonyR

 
FreePascal / Lazarus
 
#29
  Alt 24. Mär 2007, 21:20
Strecke laden geht doch! Aber man muss erst mal rauszoomen, um etwas zu sehen...
Er hat es übrigens selber gesagt, dass man das Auto noch nicht fahren kann

Ich will hier ja nicht der Pessimist sein, aber ich glaube, das das Projekt bald dem Tod geweiht sein wird...
Vor allem wegen der Einschränkungen von Canvas und mangelnden Wissens für 3D-Programmierung... Ich will damit nicht sagen, dass es nicht geht, aber es... ist zumindest zu schwierig...
  Mit Zitat antworten Zitat
AndY92
 
#30
  Alt 24. Mär 2007, 21:30
Zitat von TonyR:
Ich will hier ja nicht der Pessimist sein, aber ich glaube, das das Projekt bald dem Tod geweiht sein wird...
Vor allem wegen der Einschränkungen von Canvas und mangelnden Wissens für 3D-Programmierung... Ich will damit nicht sagen, dass es nicht geht, aber es... ist zumindest zu schwierig...
wir könenn ja wetten ^^ ich wette am ende hab ich das spiel genau so wie ichs mir vorgestellt hab; ein rundkurs mit start/ziellinie und einen LAN modus (evtl. auch noch bots)

bis jetzt funktioniert ja alles und schwierig find ichs garnicht man muss eben nur viele rechnungen machen aber das ist ja kein problem

und auch wenn canvas dafür nicht so geeignet ist mir macht das richtig spaß also werd ich damit nicht aufhören ^^
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 20:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz