Hallo, ich hab mal wieder ein Problem mit der SFML ...
Ich versuche, eine Bitmap in ein sf::Image zu Laden (mit der LoadFromFile - Funktion)
Ich bekomme jedoch bei diesem Versuch plötzlich lauter Kryptische Zeichen in der Konsole (obwohl ich in die Konsole nichts schreibe) und ab und zu nach ca 5 - 10 sek eine Zugriffsverletzung (Nicht immer). Wenn ich keine Zugriffsverletzung bekomme und ich das Programm über die Konsole schließe (rotes X), dann kommt eine meldung, dass die Anwendung nicht reagiert und ich muss den Prozess beenden.
Muss ich da noch etwas beachten, was ich nicht getan habe?
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
#include "Framework.hpp"
#include "Sprite.hpp"
#include <Windows.h>
#include <iostream>
int main(int argc, char *argv[])
{
//FreeConsole();
g_pFramework -> Init(800,600,32,"SFML Erstellen",false);
//Mit der Variable image funktioniert alles Problemlos ....
Image image(10,10,Color(255,255,255,255));
Sprite sprite(image);
//Bei image2 kommt dan der berschiebene Fehler
Image image2;
image2.LoadFromFile("Data/Sprite.bmp");
//CSprite sprite(image);
Event Event;
while(g_pFramework -> IsOpened())
{
g_pFramework -> Clear();
if(g_pFramework -> GetEvent(Event) && Event.Type == Event::Closed)
g_pFramework -> Quit();
if(g_pFramework -> KeyDown(Key::F))
g_pFramework -> ToggleFullScreen();
g_pFramework -> GetScreen() -> Draw(sprite);
sprite.Move(100*g_pFramework->GetFrameTime(),100*g_pFramework->GetFrameTime());
if(sprite.GetPosition().y > 600.0f)
sprite.SetPosition(sprite.GetPosition().x,0.0f);
else if(sprite.GetPosition().x > 800)
sprite.SetPosition(0.0f,sprite.GetPosition().y);
g_pFramework -> Flip();
}
g_pFramework -> Quit();
return 0;
}
|
in g_pFramework wird btw mein RenderWindow verwalltet.
Nun habe ich mir gedacht, falls auch ihr keinen Fehler findet, ob es vielleicht daran liegt, dass ich beim Kompilieren der SFML - DLLs einen Error bekommen habe, weswegen ich noch die sfml-window.dll von der 2008er Version verwende (Ich verwende Visual Studio 2010).
Ich selber glaube nicht, dass es daran liegt, weil sf::Image ja in den Graphics liegt, und nicht im Window (kann mich aber auch irren).
Hoffe, ihr könnt mir auch diesesmal weiterhelfen
Liebe Grüße,
Ombalat