(MFC mit dem...) Animationen. Wie machen?



  • Moin
    Hab in einen Dialog aus den Steuerelementen mal so ne Animation eingefügt
    und auch ne Controll-Member-Variable erstellt.
    Aber wie lasse ich nun darin nacheinander 3 Symbole immerwieder ablaufen?

    MFG
    FatalError



  • OH HOPPLA

    Das war das falsche Forum.

    MODERATOR !!!!!!!!!!!!!



  • Wohin willst du den?



  • Na da wos eignetlich hingehört.
    Nach MFC

    Machste mal ???



  • Hi !

    [OT]
    Selbsterkenntnis ist der erste Weg zur Besserung 😃
    [/OT]

    Also, zuerst brauchst du ne struct :

    struct SAnimation
    {
          //position in pixels
          int m_px,m_py;
          //größe in pixel, relative werte
          int m_sx, m_sy;
          //dieses Bitmap verwenden
          HBITMAP m_bitmap;
          //wie lange soll dieses Bild noch sichtbar sein ? (in ms)
          int m_delay;
    };
    

    Dann eine Variable die angibt wielange ein Einzelbild angezeigt werden soll :

    int g_duration = 1000; //<<- 1 Sekunde
    

    In dieser Struct speicherst du einen Animationsschritt. Für jedes Einzelbild füllst du die struct mit passenden Werten.
    Dann am Besten noch einen Vector aus der STL nehmen um alle Bilder zu speichern :

    std::vector <SAnimation> g_animations;
    

    Nun eine Variable die dir sagt welches Bild grade angezeigt werden soll (von 0->g_animations.size()-1 )

    int m_curFrame = 0;
    

    Animation initialisieren :

    SAnimation a;
    
    //gilt für alle Bilder
    a.m_px = 20; a.m_py = 20;
    a.m_sx = 100; a.m_sy = 100;
    a.m_delay = g_duration;
    
    //frame 1
    a.m_bitmap = BILD1;
    g_animations.push_back (a);
    //frame 2
    a.m_bitmap = BILD2;
    g_animations.push_back (a);
    //frame 3
    a.m_bitmap = BILD2;
    g_animations.push_back (a);
    

    Jetzt kommt die Funktion mit der die Animation gespielt wird. Natürlich musst du vorher ein paar Elemente in g_animations eingefügt haben 🙂 :

    void ShowAnimation ()
    {
    //mmmh, mach das am Besten selbst, ist ne gute Übung :)
    //wenn du nicht klarkommst kannst du gerne fragen :P
    }
    

    Edit: Ein paar Leerzeilen entfernt 🙂

    [ Dieser Beitrag wurde am 20.12.2002 um 16:35 Uhr von Headhunter editiert. ]



  • Hmm
    Hast eigentlich recht, dass ich den Rest selber machen solle, aber mein
    Wisssen reicht leider noch nicht bis hin. 🙄
    zb: weiß ich jetzt garnicht, was ein/e Struct, Vector oder ein STL ist. 😞
    Kannste mir das mal n bissel DAU näher beschreiben 😉

    MFG
    FatalError


Anmelden zum Antworten