Ergebnis 1 bis 20 von 1418

Thema: Technik-Sammelthread für Probleme und Antworten

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #11
    Hi, ich gehe davon aus, dass deine DLL nicht richtig kompiliert und dein Code vom Compiler nicht mal bemerkt wird, denn es ist ausgeschlossen, dass dieser Code problemlos kompiliert. Gerade als Anfänger ist es sinnlos große Konstrukte zu machen bevor nicht einzelne Stücke funktionieren.

    Fang doch damit an, ohne Schleifen, Scenes etc. einfach mal irgendwas auf den Bildschirm zu zeichnen.

    Bild laden
    Bild zeigen
    Bild löschen

    in 3 verschiedenen Callbacks!

    Zitat Zitat
    #define AUTO_DLLMAIN
    #include <DynRPG/DynRPG.h>
    int mmscn;
    // Methodensignatur falsch
    bool onFrame(char*pluginName)
    {
    if (scene == RPG::SCENE_MENU)
    {
    // du hast hier eine Funktion in deine Funktion kopiert.
    // Das hier site in Funktionsaufruf
    mmscn = getMenuScreen();

    // das hier wird entweder ein Fehler oder die Klammern werden ignoriert und der onFrame-Callback beendet
    {
    return (**reinterpret_cast<char ***>(0x4CDC60))[12];
    }
    // du solltest die getMenuScreen-funktion als Funktion in dein Projekt einfügen und dann aufrufen.

    if (mmscn == 0)
    {
    // das hier wird funktionieren , und ein Bild von der Festplatte laden, 60 mal pro Sekunde, absoluter Performancekiller
    RPG::Image *myExpImage;
    myExpImage = RPG::Image::create();
    myExpImage->useMaskColor = true;
    myExpImage->loadfromFile("Picture\EXP_Percentage.png",false);


    RPG::Actor * actorCurrent;
    // Global::etc. ist ein Namespace von mir, das solltest du schon ersetzen zB durch eine 4 ;-)
    for (int i=0; i< Global::kNumberOfHeros; i++)
    {
    // die Schleife über das Switchkonstrukt ist grober Unfug. In meinem Samplecode folgr auf die Schleife ein Prüfen, ob ein Held auf der Gruppenposition 0 bis 3 vorhanden ist. Wenn du einfach nur an X Stellen überzeichnen willst, dann zeichne an X stellen, ohne Schleifen.
    switch(i)
    {
    case 0:
    // wenn du optionale Parameter nicht angeben willst lass sie weg, srcWidth=1 etc. gehört hier nicht hin
    RPG::Canvas::Draw(200, 41, myExpImage,srcX = 0, srcY = 0, srcWidth = -1, srcHeight = -1)
    break;
    case 1:
    RPG::Canvas::Draw(200, 99, myExpImage,srcX = 0, srcY = 0, srcWidth = -1, srcHeight = -1)
    break;
    case 2:
    RPG::Canvas::Draw(200, 157, myExpImage,srcX = 0, srcY = 0, srcWidth = -1, srcHeight = -1)
    break;
    default:
    break;
    }
    }
    }
    else
    {
    RPG::Image::destroy(myExpImage);
    }
    }
    return true;
    }

    Geändert von Corti (03.06.2013 um 17:11 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •