Bild flimmert bei Bewegung, Probleme beim Löschen von Elementen



  • Du musst die Library auch dem Projekt hinzufügen etc.

    Na ja also auf meinem Rechner mit 2,1 Ghz (Athlon XP) geht das mit dem Canvas auf jeden Fall ausreichend für ganz simple Spiele, selbst in hohen Auflösungen (quasi Fullscreen).

    Ein ganz simples Beispiel:

    // Den Hintergrund weiß malen
    Form1->Canvas->Brush->Color = clWhite;
    Form1->Canvas->Brush->Style = bsSolid;
    Form1->Canvas->Pen->Color = clWhite;
    Form1->Canvas->Rectangle(0, 0, Form1->Width, Form1->Height);
    
    // Bild laden
    Graphics::TBitmap* bitmap = new Graphics::TBitmap;
    bitmap->LoadFromFile("bild.bmp");
    
    // Auf Form zeichnen an Position 10|10
    Form1->Canvas->Draw(10, 10, bitmap);
    
    [..]
    
    delete bitmap;
    

    Das ist natürlich sehr simpel, du musst das dann schon noch ausbauen, dass Bilder zum Beispiel natürlich nur einmal zu Beginn geladen werden und das Ganze alles in einer Schleife läuft (notfalls geht auch TTimer..) und immer wieder neu gezeichnet wird und die Bewegungen der Objekte etc.
    Kannst natürlich auch alles (erstmal) nur durch einfache Kreise zeichnen, die Funktionen dafür findest du in BCB-Hilfe.



  • Wieso denn auf einmal VC++, ich dachte, du benutzt C++Builder? 😕
    Du musst einfach nur die Include-Files in (d)einen Include-Ordner schieben und die SFML-Libs dazulinken.



  • also ganz einfach mit #include <SFML\Audio.hpp> oder was man da hinschreiben kann funktioniert so nicht. Ich muss irgendwie Dem Programm beibringen, dass er noch eine datei aus dem ordner lib auslesen soll, denn bisher hab ich keine Ahnung wie man das macht



  • Beim C++Builder geht das unter Projekt/Dateien zum Projekt hinzufügen, iirc.
    Beim VC++ hab ich keine Ahnung, müsste aber nicht so schwer zu finden sein. Such mal nach Linkereinstellungen oder sowas.



  • ich hab die datei jetzt eingefügt, aber jetzt kommt:

    [Linker Error] 'D:\VC2005\SFML-GRAPHICS.LIB' contains invalid OMF record, type 0x21 (possibly COFF)

    ich hab keine Ahnung was der C++ Builder von mir will.



  • Die Lib ist nicht ganz korrekt, du brauchst eine für den Borland C++ Builder.



  • hmmm, dann habe ich ein problem. Denn ich habe auf der Seite kein Packet für Borland Builder gesehen und in Google habe ich bisher auch nichts gefunden. Kann man die eventuell selbst erstellen?



  • Schau dir das mal an: http://www.richelbilderbeek.nl/CppLinkErrorLibContainsInvalidOmfRecord.htm

    hatte das Problem vor Ewigkeiten auch mal, und irgendwie ging's einfach zu lösen, weiß nicht mehr ob's das war, probier's einfach mal.^^



  • hmm, also es kommt immernoch ein Problem. Ich habe jetzt die .lib Dateien jetzt alle convertiert und jetzt wenn ich die neue .lib in mein projekt einfüge kommt folgendes als Fehlermeldung:

    [Linker Error] Unresolved external 'sf::Image::Image()' referenced from D:\DOCUMENTS AND SETTINGS\ADMINISTRATOR\DESKTOP\PROJECT\UNIT1.OBJ
    ...
    //Es sind eigentlich mehr Fehler aber der erste Teil des Satzes ist bei allen Fehler derselbe.

    Dasselbe kommt auch, wenn ich die .lib Dateien nicht in das Projekt dazunehme



  • sry für doppelpost, aber ich hab mal eine frage zu SFML. Durch die Tutorials kann ich jetzt sprites erstellen, jedoch haben die Sprites bei mir immer einen weißen Hinteergrund. Ich bin mir sicher, dass man das irgendwie wegmachen kann, nur weiß ich nicht mit welcher Funktion.

    Übrigens funktioniert immernoch SFML in Borland nicht. Ich erhalte immernoch Fehlermeldungen, wenn ich nur sf::Image benutzen will.

    [Linker Error] Unresolved external 'sf::Image::Image()' referenced from D:\DOCUMENTS AND SETTINGS\ADMINISTRATOR\DESKTOP\PROJECT\UNIT1.OBJ
    [Linker Error] Unresolved external 'sf::Image::~Image()' referenced from D:\DOCUMENTS AND SETTINGS\ADMINISTRATOR\DESKTOP\PROJECT\UNIT1.OBJ


Anmelden zum Antworten