Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

FrauBolaIstDumm

Treue Seele

  • »FrauBolaIstDumm« ist der Autor dieses Themas

Beiträge: 109

Wohnort: kralapp

Beruf: schüler

  • Private Nachricht senden

1

10.04.2004, 16:11

objekte um y ackse rotieren wie???

hallo. ich habe jetzt ein fahrzeug und ich will es um die y-ackse rotieren lassen aber wie soll ich das anstellen. in kapitel 3 "modelle" habe ich mir die kamera abgeschaut wenn ich es nun aber auf mein fahrzeug anwende funzt es nicht.
vielen dank mfg
Frau Bola Ist Dumm
(Deutschlehrer)

big_muff

Alter Hase

Beiträge: 460

Wohnort: Schweiz

Beruf: Informatikstudent (4. Semester)

  • Private Nachricht senden

2

10.04.2004, 16:23

Du stellst einfach die Weltmatrix entsprechend ein.

Quellcode

1
2
3
4
5
tbMatrix mWorld;

mWorld=tbMatrixRotationY(TB_DEG_TO_RAD(Winkel));

Direct3DDevice->SetTransform(D3DTS_WORLD, &mWorld);


Diesen ganzen Code setzt du einfach vor das Rendern des Fahrzeugs. Und wenn du das Fahrzeug nicht als letztes renderst, darfst du nicht vergessen die Weltmatrix wieder zurückzusetzten.
Nur Idioten halten Ordnung, ein Genie beherrscht das Chaos.[size=7]

[/size]HardFate - Ein Start, Ein Ziel, Viele Wege[size=7]

[/size]Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

3

10.04.2004, 16:58

Achse, nicht Ackse...

FrauBolaIstDumm

Treue Seele

  • »FrauBolaIstDumm« ist der Autor dieses Themas

Beiträge: 109

Wohnort: kralapp

Beruf: schüler

  • Private Nachricht senden

4

10.04.2004, 17:00

hallo

hallo.
danke aber wie mache ich es wenn es auf die tastatur reagieren soll???
wenn ich a drücke soll es sich nach links bewegen
if(g_pbButton[TB_KEY_A]) ????????????????????;
vielen Dank mfg
Frau Bola Ist Dumm
(Deutschlehrer)

big_muff

Alter Hase

Beiträge: 460

Wohnort: Schweiz

Beruf: Informatikstudent (4. Semester)

  • Private Nachricht senden

5

10.04.2004, 17:10

Du führst irgendwo eine Variable für den Winkel ein. Und wenn der Benutzern nun "Rechts" drückt machst du Winkel+=20; oder so.

Nun musst du nur noch in jedem Rendervorgang die Variable abfragen und die Weltmatrix entsprechend setzten.
Nur Idioten halten Ordnung, ein Genie beherrscht das Chaos.[size=7]

[/size]HardFate - Ein Start, Ein Ziel, Viele Wege[size=7]

[/size]Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.

FrauBolaIstDumm

Treue Seele

  • »FrauBolaIstDumm« ist der Autor dieses Themas

Beiträge: 109

Wohnort: kralapp

Beruf: schüler

  • Private Nachricht senden

6

10.04.2004, 17:13

cool danke

danke also so:
[move]
if(g_pbButtons[TB_KEY_A] -= winkel * 10.0f;

[render]
tbMatrix mWorld;

mWorld=tbMatrixRotationY(TB_DEG_TO_RAD(winkel));

tbDirect3D::GetDevice()->SetTransform(D3DTS_WORLD, &mWorld);

Vieln Dank
Frau Bola Ist Dumm
(Deutschlehrer)

FrauBolaIstDumm

Treue Seele

  • »FrauBolaIstDumm« ist der Autor dieses Themas

Beiträge: 109

Wohnort: kralapp

Beruf: schüler

  • Private Nachricht senden

7

10.04.2004, 17:39

habe ausprobiert

hallo.
habe es soeben ausprobiert.
aber es ist noch ein fehler drinne also das objekt lässt sich rotieren aber wenn ich es jetzt nach vorne bewegen will steigt es schräg nach oben??
[globale variablen]
float winkel = 0.0f;
tbVector3 buspos = tbVector3(0.0f, 0.0f, 0.0f);

[move anweisung]
if(...Taste A) winkel -= 40 * fTime;
if(...Taste D) winkel += 40 * fTime;
if(...Taste W) buspos += tbVector3(0.0f, 0.0f, 1.0f);
if(...Taste S) buspos -= tbVector3(0.0f, 0.0f, 1.0f);

[renderanweisung]

tbMatrix rotation;
tbMatrix translation;
tbMatrix mWorld;


mRotation=tbMatrixRotationY(TB_DEG_TO_RAD(winkel));
mTranslation=tbMatrixTranslation(buspos);
mWorld = mTranslation * mRotation;
Direct3DDevice->SetTransform(D3DTS_WORLD, &mWorld);


das funzt aber das objekt "fährt" nach oben wenn ich w drücke und bei s nach unten.
Vielen Vielen DANK
MFG FrauBola
Frau Bola Ist Dumm
(Deutschlehrer)

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

8

10.04.2004, 17:45

Erst rotieren, dann verschieben.
Also nicht Translation * Rotation, sondern Rotation * Translation.

FrauBolaIstDumm

Treue Seele

  • »FrauBolaIstDumm« ist der Autor dieses Themas

Beiträge: 109

Wohnort: kralapp

Beruf: schüler

  • Private Nachricht senden

9

10.04.2004, 17:54

danke für den tipp aber---

hallo.
danke für den tipp aber es ist immer noch so wenn ich w drücke fährt es schräg nach oben :crying:
Vielen Dank MFG FrauBola
Frau Bola Ist Dumm
(Deutschlehrer)

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

10

10.04.2004, 17:55

Glaube ich Dir nicht :crying:

Werbeanzeige