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

Anonymous

unregistriert

1

07.03.2006, 21:00

Probleme mit Vektoren

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
tbResult Move(float fNumSecsPassed)
{
    // Zeitzähler erhöhen

    g_fTime += fNumSecsPassed;

    tbMatrix mMove = tbMatrixTranslation(tbVector3(0.5f, 0.0f, 0.0f)*fNumSecsPassed);

    static tbVector2 g(3.0f, 0.0f);
    g = tbVector2TransformCoords(g, mMove);
    tbWriteVector2ToLog(g);

...


Leider lässt sich der Vektor g hier nicht verschieben. Was habe ich falsch gemacht? ???

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

07.03.2006, 21:14

Re: Probleme mit Vektoren

Zitat von »"l lennard"«

Was habe ich falsch gemacht? ???

Du hast die Bedeutung von fNumSecsPassed falsch verstanden. Dieser Parameter gibt die seit dem letzten Frame vergangene Zeit an, nicht die "absolute" Zeit.

Anonymous

unregistriert

3

08.03.2006, 14:04

ich will doch eine Matrix erstellen, die den Vector pro Sekunde um 0,5 Einheiten auf der x-Achse verschiebt...

Wie soll ich es dann machen?

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

4

10.03.2006, 03:05

die Matrix ist schon richtig, aber der Vektor g wird doch in jedem Frame = den Verschiebungsvektor gesetzt, also er bleibt quasi immer gleich (mal abgesehen von den Sprüngen durch Zeitunterschiede). Richtig wäre

C-/C++-Quelltext

1
g += tbVector2TransformCoords(g, mMove);

Werbeanzeige