Delphi-PRAXiS
Seite 8 von 8   « Erste     678   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   [Spiel] 3D Race (v1.2.6.13-Alpha) (https://www.delphipraxis.net/88881-%5Bspiel%5D-3d-race-v1-2-6-13-alpha.html)

AndY92 27. Mär 2007 21:25

Re: [Spiel] 3D Race (v1.2.6.13-Alpha)
 
hey wer bin ich denn ich würd nie aufgeben :)


Zitat:

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

:wink:



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

TOC 27. Mär 2007 21:28

Re: [Spiel] 3D Race (v1.2.6.13-Alpha)
 
Hi!

Zitat:

Zitat von AndY92
hey wer bin ich denn ich würd nie aufgeben :)
:wink:

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 :mrgreen: !

Grüsse von TOC!

fLaSh11 27. Mär 2007 21:30

Re: [Spiel] 3D Race (v1.2.6.13-Alpha)
 
Dann war es ein Lesefehler meinerseits... aber hat dich Cöster motiviert oder ist erstmal bei dir immer so kurz ;)

AndY92 27. Mär 2007 21:58

Re: [Spiel] 3D Race (v1.2.6.13-Alpha)
 
naja eigendlich will ich erstmal was anderes amchen aber keine ahnung :-D

Cöster 27. Mär 2007 22:18

Re: [Spiel] 3D Race (Alpha)
 
Zitat:

Zitat von AndY92
Es liegt an den Koordinaten - die sind nicht falsch sondern die WERDEN es

:wiejetzt: 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. :shock: Ich denke es wäre leichter, wenn du nur die Kamerakoordinaten und -blickrichtung änderst.

Zitat:

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:

Zitat von AndY92
Zitat:

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.

AndY92 27. Mär 2007 22:54

Re: [Spiel] 3D Race (v1.2.6.13-Alpha)
 
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);

Cöster 28. Mär 2007 14:15

Re: [Spiel] 3D Race (v1.2.6.13-Alpha)
 
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:

Zitat von AndY92
eigendlich wird die rotation erst nachher reingehaun

Was rotierst du denn?

AndY92 4. Apr 2007 19:46

Re: [Spiel] 3D Race (v1.2.6.13-Alpha)
 
:) 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 :wall:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:17 Uhr.
Seite 8 von 8   « Erste     678   

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