Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Fab

Treue Seele

  • »Fab« ist der Autor dieses Themas

Beiträge: 85

Wohnort: Iwo in der Eifel - nähe von Euskirchen

Beruf: Schüler

  • Private Nachricht senden

1

04.01.2009, 19:15

SFML Fehler - Unregelmäßig

Hi
ich habe bei dem Thread über die 2D Bibliotheken und Engines für mich mal SFML herraus gesucht.
Ich selbst bin vom Aufbau der Engine begeistert und hab mich voller Tatendrang an die Arbeit mit dieser gemacht. Hab mich durch die Tutorials gewühlt. Es hat auch alles gut geklappt. Aber dann kam ein Fehler:

Das ist mein Quellcode:

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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#pragma comment(lib, "sfml-window.lib")
#pragma comment(lib, "sfml-graphics.lib")
#pragma comment(lib, "sfml-system.lib")


#include <SFML/Graphics.hpp>

int main() {
    //Fenster erstellen

    //

    sf::RenderWindow App(sf::VideoMode(800, 600, 32), "My Game", sf::Style::Resize | sf::Style::Close);

    //Fensterfarbe festlegen

    //

    App.SetBackgroundColor(sf::Color(200,0,0));

    //Bitmap und Sprite erstellen

    //

    sf::Image Image(100, 100, sf::Color(0,255,0));
    sf::Sprite Sprite;

    Sprite.SetImage(Image);
    Sprite.SetPosition(100.f, 200.f);
    Sprite.SetCenter(0.f, 0.f);
    Sprite.Scale(0.5f, 0.5f);
    Sprite.Rotate(90);

    //ein Polygon erstellen

    /*
    sf::Shape Polygon;
    Polygon.AddPoint(10.f, 10.f, sf::Color(0, 0, 255), sf::Color(0, 128, 128));
    Polygon.AddPoint(10.f, 20.f, sf::Color(0, 0, 255), sf::Color(0, 128, 128));
    Polygon.AddPoint(20.f, 15.f, sf::Color(0, 0, 255), sf::Color(0, 128, 128));
    */

    //Einen Kreis erstellen

    //

    sf::Shape Circel = sf::Shape::Circle(100.f, 100.f, 50.f, sf::Color(0, 0, 255));

    //Game Loop starten

    //

    while(App.IsOpened()) {
        sf::Event Event;
        float ElapsedTime = App.GetFrameTime();

        while(App.GetEvent(Event)) {
            //Beenden des Programmes

            //

            if(Event.Type == sf::Event::Closed) App.Close();
            if(Event.Key.Code == sf::Key::Escape) App.Close();

            //Ermöglichen von Screenshots

            //

            if(Event.Key.Code == sf::Key::F1) {
                sf::Image Screen = App.Capture();
                Screen.SaveToFile("MyScreenShot.jpg");
            }
            
            //Bewegung über den Bildschirm

            //

            if(App.GetInput().IsKeyDown(sf::Key::Left)) Sprite.Move(-100 * ElapsedTime, 0);
            if(App.GetInput().IsKeyDown(sf::Key::Right)) Sprite.Move(100 * ElapsedTime, 0);
            if(App.GetInput().IsKeyDown(sf::Key::Up)) Sprite.Move(0, -100 * ElapsedTime);
            if(App.GetInput().IsKeyDown(sf::Key::Down)) Sprite.Move(0, 100 * ElapsedTime);

            //Sprite rotieren lassen

            //

            if(App.GetInput().IsKeyDown(sf::Key::Add)) Sprite.Rotate(-100 * ElapsedTime);
            if(App.GetInput().IsKeyDown(sf::Key::Subtract)) Sprite.Rotate(100 * ElapsedTime);
        }
        App.Display();
        App.Draw(Sprite);
        //App.Draw(Polygon);

        App.Draw(Circel);

    }

    return 0;
}


Je nachdem kommt der Fehler erst am Anfang, dann nach ner Zeit und meistens wenn es soweit kalppt, wenn ich das Programm beenden will:

Zitat


Unbehandelte Ausnahme bei 0x104817fd in SFML_Test04.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0xcccccccc.


In meiner Idee öffnet sich dann ein Quelltext aus der Vektorklasse (std::vektor)

Was kann das sein und wie kann ich das beheben?

Schonmal danke für eure Antworten ;)

MFG
Fab
;)
Eins hab ich erkannt - ich werde immer Schüler bleiben, ein Leben lang

2

04.01.2009, 19:19

Genau das Gleiche Problem hatte ein Kumpel von mir auch, mit dem ich gerade an einem Projekt mit der SFML arbeite. Es hat nichts geholfen, VC++ neu zu installieren, auch die SFML libs waren fehlerfrei. Im Code war auch kein Fehler, und wir kamen nicht drauf, was falsch sein könnte.
Am Ende haben wirs dann mit der Version 1.2 Probiert, und es ging.
Anders wars leider nicht hinzukriegen. Anscheinend hat SFML 1.3 auf bestimmten Rechnerkonfigurationen irgendwie Probleme.

Fab

Treue Seele

  • »Fab« ist der Autor dieses Themas

Beiträge: 85

Wohnort: Iwo in der Eifel - nähe von Euskirchen

Beruf: Schüler

  • Private Nachricht senden

3

04.01.2009, 19:25

Danke

Danke
ich probiers mal ;)
Aber das kann doch nicht die einzigste Lösung sein.
Wenn das ne Stable Version ist, dann muss die es doch tun.
Vll schreibe ich mal die Entwickler von SFML an ;)
Mal sehen was die zum lösen des Problems vorschlage.

Hat von euch wer vll noch ein Problem?

MFG
Fab
;)
Eins hab ich erkannt - ich werde immer Schüler bleiben, ein Leben lang

4

04.01.2009, 20:54

Hast du auch die Debug libs gelinkt? Also Beispielsweise die sfml-window-d.lib? Ist ganz wichtig wenn du noch keine releaseversion hast. Bei Releases brauchst natürlich wieder die normale sfml-xyz.lib.

5

04.01.2009, 21:15

Also bei meinem Kumpel (Ja das bin wirklich nicht ich, falls das jetzt einer denkt) waren die libs richtig gelinkt, es hat nix gebracht.

6

04.01.2009, 22:32

Ja hat dein Freund jetzt SDL oder SFML verwendet?

7

05.01.2009, 10:54

Oh Scheisse, ich hab SDL statt SFML geschrieben. Habs korrigiert.

Fab

Treue Seele

  • »Fab« ist der Autor dieses Themas

Beiträge: 85

Wohnort: Iwo in der Eifel - nähe von Euskirchen

Beruf: Schüler

  • Private Nachricht senden

8

06.01.2009, 12:25

Die Debug Libs

Ne ich habe die Debug-Libs nicht mit eingebunden.
Ich änder das mal.
Vll funktioniert es ja dann ;)

Greetings Fab
Eins hab ich erkannt - ich werde immer Schüler bleiben, ein Leben lang

Fab

Treue Seele

  • »Fab« ist der Autor dieses Themas

Beiträge: 85

Wohnort: Iwo in der Eifel - nähe von Euskirchen

Beruf: Schüler

  • Private Nachricht senden

9

06.01.2009, 12:29

Danke

Klappt jetzt mit den Debug Libs und Dlls alles prima.
Zum glück habe ich die alte Version noch nicht installiert.
Aber trotzdem danke ;)

MFG
Fab
;)
Eins hab ich erkannt - ich werde immer Schüler bleiben, ein Leben lang

10

06.01.2009, 14:01

Du glücklicher :lol:

Werbeanzeige