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

ich1994

Treue Seele

  • »ich1994« ist der Autor dieses Themas

Beiträge: 164

Wohnort: Erlangen(nähe Nuernberg)

Beruf: Bald Abiturient(kein job eig...)

  • Private Nachricht senden

1

24.01.2010, 20:26

Fehler^^

Also ich habe hier den Folgenden Fehler.

(Link)

Davor, als ich einfach die Bilder, die ich als .png abgespeichert hatte, einfach in .bmp umbenannt. In der SDL_Logefile oder so standda, dass es halt keine echten Windows-bmp-dateien sind.
Dann hab ich die mit Paint in ein 24-bit-bitmap abgespeichert.
Das war doch die einstellung?!?
Wenn nein, wieso gibt Windows diesen Fehler aus und welche Bitmap muss ich benutzen?

MfG

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

2

24.01.2010, 20:30

du kannst doch nciht einfach die endung ändern. ein png wird ganz anders formatiert als ein bmp. wieso hast du das überhaupt getan?
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

ich1994

Treue Seele

  • »ich1994« ist der Autor dieses Themas

Beiträge: 164

Wohnort: Erlangen(nähe Nuernberg)

Beruf: Bald Abiturient(kein job eig...)

  • Private Nachricht senden

3

24.01.2010, 20:42

Das ist doch egal.
Also ich ab hab die .png in .bmp gemacht und dann wieder .png und dann mit paint in ein 24-bit-bmp also .bmp

4

24.01.2010, 20:50

Zitat

Also ich ab hab die .png in .bmp gemacht und dann wieder .png und dann mit paint in ein 24-bit-bmp also .bmp


*confused*

Also NachoMan hat recht, einfach endungen machen ist nicht getan. Wenn du einder textdatei die endung .3ds verpasst, hast du noch lange kein modell.

unsigned long

Treue Seele

Beiträge: 140

Wohnort: Herzogenrath

Beruf: Fachinformatiker Fachrichtung Anwendungsentwicklung

  • Private Nachricht senden

5

24.01.2010, 21:05

Zitat von »"ich1994"«

Das ist doch egal.
Nichts für ungut: Du hast anscheinend nicht mehr alle Latten am Zaun...

Vorallem dieser Thread-Titel: Nichtssagend, einfallslos, grauenvoll

ich1994

Treue Seele

  • »ich1994« ist der Autor dieses Themas

Beiträge: 164

Wohnort: Erlangen(nähe Nuernberg)

Beruf: Bald Abiturient(kein job eig...)

  • Private Nachricht senden

6

24.01.2010, 21:14

@ E122 Das mit .png in .bmp unbennenen hatte schon mal geklappt, also hab ich das einfach nochmal gemacht

@ unsigned long
Das mit dem Das ist doch egal->ich hab es danach normal mit paint konvertiert.
Ja ist mir nach dem Thread erstellen auch in den Kopf gekommen, dass ich es vergessen habe hinzuschreiben.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

7

24.01.2010, 21:56

Der Fehler hat nichts mit der Dateiendung zu tun und wird auch nicht wirklich mit Windows an sich.

Der Fehler kommt weil dein this Pointer da 0 ist, was daran liegt dass dein CSprite Objekt da ungültig is, was wiederum an irgendeinem Fehler in deinem Programm liegt.

ich1994

Treue Seele

  • »ich1994« ist der Autor dieses Themas

Beiträge: 164

Wohnort: Erlangen(nähe Nuernberg)

Beruf: Bald Abiturient(kein job eig...)

  • Private Nachricht senden

8

25.01.2010, 15:32

Ich hab den Fehler gefunden. Ich hatte meine Sprites nicht als new CSprite deklariert. Also.... neuer Fehler :lol:
http://dl.dropbox.com/u/3765142/Minesweeper%28Unfinished%29.rar
Das ist der Downloadlink wenn ihr den Fehler euch unter die Lupe nehmen wollt.
Hier nur die main.cpp:

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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include <iostream>
#include "Framework.hpp"
#include "Sprite.hpp"
#include <map>
#include <list>

struct SField
{
    int XPos;
    int YPos;
};
bool GameRun=true;

void ProcessEvents();
int main(int argc, char *argv[])
{

    list<SField> Field;
    list<SField>::iterator iField;
    CSprite *SpriteFieldBackground;
    CSprite *SpriteField;
    SpriteFieldBackground->Load("Pics/Field_Background.bmp");
    SpriteFieldBackground->SetColorKey(255,0,255);
    SpriteField->Load("Pics/Field.bmp");
    SField Temp;
    for(int i=0;i!=401;i++)
    {
        int xPosTemp=1;
        int yPosTemp=1;
        if(xPosTemp!=9)
        {
            Temp.XPos=xPosTemp;
            Temp.YPos=yPosTemp;
            xPosTemp++;
        }
        else
        {
            xPosTemp=1;
            yPosTemp++;
            Temp.XPos=xPosTemp;
            Temp.YPos=yPosTemp;
        }
        Field.push_back(Temp);
    }
    if (g_pFramework->Init (800, 600, 16, false) == false) 
    {
        return (0); 
    }
    do
    {
        SpriteFieldBackground->Render();
        for(iField=Field.begin();iField!=Field.end();++iField)
        {
            SpriteField->SetPos((iField->XPos*10),iField->YPos*10);
            SpriteField->Render();
        }


        g_pFramework->Flip ();
        g_pFramework->Update ();
        g_pFramework->Clear ();
        ProcessEvents();
    }while(GameRun==true);

    g_pFramework->Quit ();
    g_pFramework->Del ();
    return(0);
}

void ProcessEvents ()
{
    SDL_Event Event;
    // Gab es ein Event?

    if (SDL_PollEvent (&Event))
    {
        // Ja, also schauen welches

        switch (Event.type)
        {
            // Beenden?

            case (SDL_QUIT):
            {
                GameRun = false;
            } break;
            // Wurde eine Taste gedrückt?

            case (SDL_KEYDOWN):
            {
                switch (Event.key.keysym.sym)
                {
                    case (SDLK_ESCAPE):
                    {
                        // Ja, also Spiel beenden

                        GameRun = false;
                    } break;
                }
            } break;
        }
    }
}

Sprite, Singelton,timer und Framwork sind 1:1 übernommen worden, von Heiko's spiel.

Hier der Fehler.
Mit diese Fehlercode kenn ich mich leider nicht aus. Wie erkennt ihr hierraus den Fehler ???

(Link)


MfG

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

9

25.01.2010, 15:38

C-/C++-Quelltext

1
2
3
4
5
    CSprite *SpriteFieldBackground;
    CSprite *SpriteField;
    SpriteFieldBackground->Load("Pics/Field_Background.bmp");
    SpriteFieldBackground->SetColorKey(255,0,255);
    SpriteField->Load("Pics/Field.bmp"); 

In den beiden Zeiger ist nur Müll drin. Da hast du noch keine Objekte erzeugt.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
    CSprite *SpriteFieldBackground = new CSprite ();
    CSprite *SpriteField = new CSprite ();
    SpriteFieldBackground->Load("Pics/Field_Background.bmp");
    SpriteFieldBackground->SetColorKey(255,0,255);
    SpriteField->Load("Pics/Field.bmp"); 

    //...

    delete SpriteFieldBackground;
    delete SpriteField;

Ist z.B eine Lösung. Das zerstören mit delete aber nicht vergessen!

Anderseits müssen die Sprites gar nicht dynamisch sein. Also kannst du auch gleich automatische Objekte nehmen.

C-/C++-Quelltext

1
2
3
4
5
    CSprite SpriteFieldBackground;
    CSprite SpriteField;
    SpriteFieldBackground.Load("Pics/Field_Background.bmp");
    SpriteFieldBackground.SetColorKey(255,0,255);
    SpriteField.Load("Pics/Field.bmp");

Dann brauchst du auch kein delete mehr. (und die -> durch . auswechseln, aber das wird dir dein Compiler im Notfall auch noch sagen. ;))

idontknow

unregistriert

10

25.01.2010, 15:38

Da is kein Fehler, lediglich ein "Debugging Beenden?" Fenster und ein Verweiß auf die Disassembly(?) Datei.

Werbeanzeige