Frage zu Sprites, usw...



  • hallo.
    Ich bin jetzt soweit, dass ich mein erstes Jump'n Run Spiel mache. (So ne Art Super Mario)

    Ich habe etwas über Sprites gelesen, und die schon in mein Programm eingebaut. Jetzt kann ich schon ein Objekt (gefüllter Kreis) anzeigen und es animieren (füllfarbe des Kreises ändern). Wenn ich aber einen Spieler habe, dann möchte ich ihn nur zu bestimmten Zeiten animieren (wenn er sich bewegt). Wie kann ich das machen?

    Ich weiß nun auch wie man die bewegung unabhängig von der Framerate gestaltet. (Positionsänderung mit Faktor multiplizieren). deshalb wird auch rein theoretisch keine Framebremse mehr gebraucht. Wenn ich das ganze aber ohne Framebremse aufbaue, dann kann man förmlich sehen, wie die Objekte nur halb geblittet werden, devor bereits de nächste Durchgang startet. Wie bekommt man das in den Griff?

    Das ganze mache ich mit dem SDL.

    Bitte helft mir ein bisschen.

    PS: Mit was für nem programm zeichnet ihr eure 2D-sachen?



  • Ungefähr so

    if( m_bBewegung )
    {
    	animieren();
    }
    else
    {
    	nichtanimieren();
    }
    

    Bei dem zweiten Probelm machst du entweder was falsch (wenn der Effekt wirklich offensichtlich ist), oder du solltest einfach mal den VSync aktivieren.

    Bye, TGGC



  • Wie geht, das mit dem vSync?

    Danke für die Hilfe



  • Jover schrieb:

    Wie geht, das mit dem vSync?

    Generell im Treiber erlauben bzw. sogar immer aktivieren.
    Anzeige-Eigenschaften-Erweitert und beim ATI Catalyst unter OpenGL und DirectX "Vertikale Synchronisation abwarten" - beim nVidia entsprechend ähnlich.
    Falls ersteres muß es die Anwendung speziell einschalten...



  • Sgt. Nukem schrieb:

    Falls ersteres muß es die Anwendung speziell einschalten...

    Und wie geht das mit dem SDL?


Anmelden zum Antworten