Hallo ich hab Spriteauto, an diesem möchte ich die Vorderräder lenken.
Ich stelle mir das so vor:
Ein Rad ist ein anderes Sprites.
Dieses wird nun eingelenkt.
Nun möchte ich das eingelenkte Rad auf das andere Sprite vorn rechts und links setzen und dann soll das Autosprite die Kurve fahren.
Wie kann ich das eine Spritebild(gelenkte Räder) auf das andere Autosprite setzen und dieses als neues Sprite fahren lassen?
mfg
Sprite in Sprite..
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
was hindert dich, die räder zuerst auf den screen zu displayn und dann die karosserie drüber?
Wenn ich dieses versteckte Spriteautobild immer in einer Stellung stehen habe, brauche ich immer nur die neuen Radsprite(natürlich eingeschwenkt um einen bestimmen Winkel) auf dem selben Punkt drauf setzen und dann dieses Sprite als Auto in eine Kurve fahren lassen.
Erklär mir mal deinem Vorschlag?
mfg
Wenn ich dieses versteckte Spriteautobild immer in einer Stellung stehen habe, brauche ich immer nur die neuen Radsprite(natürlich eingeschwenkt um einen bestimmen Winkel) auf dem selben Punkt drauf setzen und dann dieses Sprite als Auto in eine Kurve fahren lassen.
Erklär mir mal deinem Vorschlag?
mfg
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
für meinen Ansatz müßtest du ein bissel rechnen, weil sich die relativen
Positionen der Rädersprites ja ändern, wenn das Auto sich dreht.
das ist aber weniger kompliziert als es sich anhört.
bei deiner Herangehensweise...
du willst also erst die Räder in ein Sprite displayn, und dann das ganze drehen.
dann musst du
- ein neues Sprite erzeugen
- den Buffer aufs neue Sprite setzen
- die Räder drehen
- in das neue Sprite displayn
- die Karosserie drüber displayn
- den Buffer auf den Screen umschalten
- das neue Sprite drehen
- und auf den bildschirm displayn
du musst das Sprite wirklich jeden Frame neu erzeugen und nachdem
du Räder und Karosserie draufdisplyd hast ein Sprite3D draus erzeugen.
das kannst du dann drehen und auf dem Bildschirm darstellen.
Außerdem musst du drauf achten, das wirklich mit DX7 Subsystem zu machen,
weil DX9 das anders macht und bei UseBuffer viel zu langsam ist.
zusammen mit Engine3D funktioniert das garnicht.
eine Alternative wären noch die Spriteroutinen von Stefan Moebius, mit denen bräuchtest du kein Sprite3D.
Positionen der Rädersprites ja ändern, wenn das Auto sich dreht.
das ist aber weniger kompliziert als es sich anhört.
bei deiner Herangehensweise...
du willst also erst die Räder in ein Sprite displayn, und dann das ganze drehen.
dann musst du
- ein neues Sprite erzeugen
- den Buffer aufs neue Sprite setzen
- die Räder drehen
- in das neue Sprite displayn
- die Karosserie drüber displayn
- den Buffer auf den Screen umschalten
- das neue Sprite drehen
- und auf den bildschirm displayn
du musst das Sprite wirklich jeden Frame neu erzeugen und nachdem
du Räder und Karosserie draufdisplyd hast ein Sprite3D draus erzeugen.
das kannst du dann drehen und auf dem Bildschirm darstellen.
Außerdem musst du drauf achten, das wirklich mit DX7 Subsystem zu machen,
weil DX9 das anders macht und bei UseBuffer viel zu langsam ist.
zusammen mit Engine3D funktioniert das garnicht.
eine Alternative wären noch die Spriteroutinen von Stefan Moebius, mit denen bräuchtest du kein Sprite3D.
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Windows 10 Pro, 64-Bit / Outtakes | Derek
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22