• Ich hoffe ihr könnt mir weiterhelfen ..
    Ich habe die derzeitigen Koordinaten und den Winkel des Spielers gegeben und will ihn sich fortbewegen lassen.
    2Dimensional

    Dazu hätte ich die folgende Formeln genommen
    m_fXPOS += sin(winkel*(3,14159 / 180))*50* elapsedTime
    m_fYPOS += cos(winkel*(3,14159 / 180))*-50* elapsedTime

    Was ist hier falsch?
    danke im voraus

  • Wuzikleines, aber vollständiges Programm posten. Mit Input (kann auch schon im Programm stehen). Mit erwarteter und tatsächlicher Ausgabe.

    Edit: "Kommazahlen" schreibt man in C übrigens mit Punkt statt Beistrich.

    *plantsch*

    Einmal editiert, zuletzt von Plantschkuh! (25. April 2009 um 16:19)

  • hmm ich weiß nicht genau was ich jetz postn soll...



    ich hoffe das reicht

  • hmm ich weiß nicht genau was ich jetz postn soll...


    Etwas vollständiges, damit andere Leute auch in den Genuss kommen, das Programm zu kompilieren und laufen zu lassen.
    Etwas möglichst kleines, erstens um Leute nicht mit unnötigen Details zu erschlagen; zweitens, weil nicht jeder sdl.h installiert hat oder wegen deinem Programm installieren will.
    Inputdaten, damit man weiß, was man mit dem Programm anstellen soll, wenn es mal läuft.
    Erwartete Outputdaten, damit man weiß, wann man mit dem Debugging fertig ist.

    Insgesamt also sowas (code-Tags heißen "code"):


    Tut bei mir ungefähr das, was ich mir wünsche. Tut es auch das, was du dir wünscht?

    *plantsch*

  • Nein tut es leider nicht .
    Die Formel gibt mir die falschen Koordinaten aus.
    Dadurch hab ich dann falsche x- und y- Koordinaten .

    Wie würdest du die Koordinaten berechen , wenn du zum Beispiel eine Figur hast die sich dreht (also dann den Winkel hat)
    und wenn du dann "Vorwärts" drückst die Figur vorbewegt.

    Einmal editiert, zuletzt von Pasi (25. April 2009 um 21:03)


  • Tut bei mir ungefähr das, was ich mir wünsche. Tut es auch das, was du dir wünscht?


    würde man bei einer bewegung um 50 unter einem winkel von 90° (von der x-achse aus gemessen), ausgehend von 10, 10 nicht bei 10, 60 landen?
    das würde dann heißen

    "All through my life I've had this strange unaccountable feeling that something was going on in the world, something big, even sinister, and no one would tell me what it was."
    "No," said the old man, "that's just perfectly normal paranoia. Everyone in the Universe has that."

    😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😒😓😔😖😘😚😜😞😠😡😢😣😥😨😩😪😫😭😰😱😲😳😵😶😷

  • Nein tut es leider nicht .
    Die Formel gibt mir die falschen Koordinaten aus.
    Dadurch hab ich dann falsche x- und y- Koordinaten .


    Und du willst noch immer nicht posten, was für dich richtig wäre... Verstehst du wirklich nicht, daß man dir kein "richtiges" Programm vorkauen kann, wenn du nicht definierst, was "richtig" ist?

    würde man bei einer bewegung um 50 unter einem winkel von 90° (von der x-achse aus gemessen), ausgehend von 10, 10 nicht bei 10, 60 landen?


    Wenn man so misst, ja. Für mich war 90 Grad Richtung rechts, 0 Grad wäre nach vorne (d.h. an der positiven y-Achse entlang). Ohne Spezifikation können wir beide nur raten :)

    *plantsch*

  • So danke für die mühe .
    Hab es schon geschafft.

    Code
    ypos -= std::cos(winkel * (pi / 180)) * -50 * timestep;

    So hätte es sein müssen , und ich hab pi nicht richtig deklariert.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!