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 8 von 8   « Erste     678
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
 
#71
  Alt 27. Mär 2007, 22:25
hey wer bin ich denn ich würd nie aufgeben


Zitat von AndY92:
...also lass ichs mit der mprojekt erstmal sein und mach an was anderem weiter...




Edit:

mom hier mal der Problematische Teil
Delphi-Quellcode:

procedure TForm1.Timer1Timer(Sender: TObject);
var anz: Integer;
begin

Scr.Canvas.Rectangle(0,0,Scr.Width,Scr.Height);

Scr.Canvas.Pen.Color := clBlack;



/////Auto zeichnen////

psi := pi * (ZAxe / 180);
theta := pi *(YAxe / 180);
phi := pi * (XAxe / 180);

for anz := 1 to 21 do
  begin
        X := cos(psi) * Xa[anz] + sin(psi) * Ya[anz];
        Y := -sin(psi) * Xa[anz] + cos(psi) * Ya[anz];
        Z := Za[anz];

        Xalt := X;
        Yalt := Y;
        Zalt := Z;

        X := cos(theta) * XAlt - sin(theta) * ZAlt;
        Z := sin(theta) * XAlt + cos(theta) * ZAlt;

        Xalt := X;
        Yalt := Y;
        Zalt := Z;

        Y := cos(phi) * Yalt + sin(phi) * Zalt;
        Z := -sin(phi) * Yalt + cos(phi) * Zalt;

          If anz = 1 then
            begin
              XBew[0] := X;
              YBew[0] := Y;
              ZBew[0] := Z;
            end;


    X2D := X*e11 + Y*e12 + Z*e13;
    X2Db := trunc(faktor * X2D + PosX2D);

    Y2D := X*e21 + Y*e22 + Z*e23;
    Y2Db := trunc(PosY2D - faktor * Y2D);

    Scr.Canvas.MoveTo(X2Db,Y2Db);



        X := cos(psi) * Xb[anz] + sin(psi) * Yb[anz];
        Y := -sin(psi) * Xb[anz] + cos(psi) * Yb[anz];
        Z := Zb[anz];

        Xalt := X;
        Yalt := Y;
        Zalt := Z;

        X := cos(theta) * Xalt - sin(theta) * ZAlt;
        Z := sin(theta) * Xalt + cos(theta) * ZAlt;

        Xalt := X;
        Yalt := Y;
        Zalt := Z;

        Y := cos(phi) * Yalt + sin(phi) * Zalt;
        Z := -sin(phi) * Yalt + cos(phi) * Zalt;

          if anz = 1 then
            begin
              XBew[1] := X;
              YBew[1] := Y;
              ZBew[1] := Z;
            end;

    X2D := X*e11 + Y*e12 + Z*e13;
    X2Db := trunc(faktor * X2D + PosX2D);

    Y2D := X*e21 + Y*e22 + Z*e23;
    Y2Db := trunc(PosY2D - faktor * Y2D);

    Scr.Canvas.LineTo(X2Db,Y2Db);
  end;


          //////Differenzvektor//////
          XBew[2] := XBew[1] - XBew[0];
          YBew[2] := YBew[1] - YBew[0];
          ZBew[2] := ZBew[1] - ZBew[0];
          //////////////////////////
so aus dem differenzvektor wird jetz die bewegung ausgerechnet:

Delphi-Quellcode:
  XVer := XVer - XBew[2] * Speed;
  YVer := YVer - YBew[2] * Speed;
  ZVer := ZVer - ZBew[2] * Speed;
kein plan... EIGENDLICH müsste es funktionieren
  Mit Zitat antworten Zitat
Benutzerbild von TOC
TOC

 
Delphi 7 Personal
 
#72
  Alt 27. Mär 2007, 22:28
Hi!

Zitat von AndY92:
hey wer bin ich denn ich würd nie aufgeben
Hey, so gefällt mir das schon viel besser! Du kriegst das noch hin irgendwann, garantiert. Aber wer nit gerne rätselt und grübelt der sollte lieber keine Computer programmieren, wenigstens erst recht keine Windoofs-Computer! Das Rätseln gehört zum Job dazu !

Grüsse von TOC!
Lars Uwe Hohmann
  Mit Zitat antworten Zitat
fLaSh11
 
#73
  Alt 27. Mär 2007, 22:30
Dann war es ein Lesefehler meinerseits... aber hat dich Cöster motiviert oder ist erstmal bei dir immer so kurz
  Mit Zitat antworten Zitat
AndY92
 
#74
  Alt 27. Mär 2007, 22:58
naja eigendlich will ich erstmal was anderes amchen aber keine ahnung
  Mit Zitat antworten Zitat
Cöster

 
Turbo Delphi für Win32
 
#75
  Alt 27. Mär 2007, 23:18
Zitat von AndY92:
Es liegt an den Koordinaten - die sind nicht falsch sondern die WERDEN es
Wo änderst du sie denn? Doch nur bei der Bewegung des Autos. Oder änderst du bei jeder Bewegung der Kamera sämtliche Koordinaten des Autos und des Untergrundes? Die Untergrundkoordinaten sollten während des gesamten Spiels die gleichen bleiben. Ich denke es wäre leichter, wenn du nur die Kamerakoordinaten und -blickrichtung änderst.

Zitat von AndY92:
also wenn du die kamera kippst (von oben guckst) is ja Z1 höher als Z2 das wird nich registriert -> das programm meint ich fahr gerade aus und setz mich imemr höher in die luft
Mach die Bewegung des Autos doch unabhängig von der Kamera. Ws sind Z1 und Z2?


Zitat von AndY92:
Zitat von Cöster:
Die Bewegung des Autos ist ja nur zweidimensional, d.h. die Koordinaten der Senkrechtachse sind konstant. Die Bewegung kann also unabhängig von der Position oder Richtung der Kamera sein.
?? die Bewegung ist dreidimensional wenn sies nich wäre hätte man echt n problem lol
Was ist daran 3D? Es gibt doch nur links, rechts, geradeaus, rückwärts. Wenn der Untergrund sich nämlich die ganze Zeit auf der Ebene z = 0 befindet, musst du vom Auto nur die X- und Y-Koordinaten ändern. Dann ist es 2D und du hast wirklich kein Problem.

Ich habe die Befürchtung, dass du bei Kameraänderungen die Koordinaten des Bodens und des Autos änderst, kann das sein? Dadurch machst du es dir unnötig kompliziert.
  Mit Zitat antworten Zitat
AndY92
 
#76
  Alt 27. Mär 2007, 23:54
hmmm also langsam überschau ich das ganze selbst nichmehr aber eigendlich wird die rotation erst nachher reingehaun (hoff ich doch)
Delphi-Quellcode:
psi := pi * (ZAxe / 180);
theta := pi *(YAxe / 180);
phi := pi * (XAxe / 180);
  Mit Zitat antworten Zitat
Cöster

 
Turbo Delphi für Win32
 
#77
  Alt 28. Mär 2007, 15:15
Mit dem Code können wir wenig anfangen, weil wir nicht wissen, woher die einzelnen Variablen kommen und was mit ihn gemacht wird. Man sieht nur, dass du gewisse Werte von Grad in Bogenmaß umrechnest.

Zitat von AndY92:
eigendlich wird die rotation erst nachher reingehaun
Was rotierst du denn?
  Mit Zitat antworten Zitat
AndY92
 
#78
  Alt 4. Apr 2007, 20:46
Good newz ich weis tatsächlich was das problem ist:

also wenn man das auto nicht bewegt und die kamera bewegt sieht man das alles normal is das liegt daran das das auto da noch uamfm 0 punkt is aber wenn das auto jetz irgendwo aufm feld is und man die kamera dreht werden zwar strecke und auto gedreht aber der abstand zum punkt 0,0,0 wird nicht beachtet

alles was jetz noch fehlt ist.... ne lösung
  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 07:08 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