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

  • »idioticprogrammer« ist der Autor dieses Themas

Beiträge: 18

Wohnort: Im Computer

Beruf: Schüler

  • Private Nachricht senden

1

09.02.2014, 12:58

Eine Alternative zu SDL_FLlp() SDL 2.0

Hi, ich bin grad dabei ein Bild in ein Fenster zu laden das problem ist ich bekomme es in das Fenster geladen aber es wird nicht angezeigt. Nun habe ich paar tutorial gefunden
diese benutzen aber die funktion SDL_Flip() abe diese ist von einer älteren version von SDL und ich kann sie daher nicht benutzen .
Also würde ich gerne fragen ob es eine neuere funktion gibt um Bilder sichtbar zu machen da ich nix im internet gefunden habe.

Ich bedanke mich für alle antworten im voraus :).

Der Code :

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
#include <SDL.h>
#include <stdio.h>



const int SCREEN_WIDTH = 640;           // Window Parameter X
const int SCREEN_HEIGHT = 480;          // Window Parameter Y
                    


//_______________________________________________________________________________________________________
int main ( int argc, char* args[] )
{
    SDL_Window* window = NULL;                  // The Window  rendering
    SDL_Surface* screensurface = NULL;  // The screen in the Window


    if( SDL_Init( SDL_INIT_VIDEO ) < 0 )
    {
        printf("SDL coiuld not be initialize! SDL_Error: %s\n", SDL_GetError() );
    }
    else
    {
        window = SDL_CreateWindow("A Resume Game : Astroman",SDL_WINDOWPOS_UNDEFINED,SDL_WINDOWPOS_UNDEFINED,SCREEN_WIDTH,SCREEN_HEIGHT,SDL_WINDOW_SHOWN);
        if (window == NULL)
        {
            printf("Window could not be created ! SDL_Error: %s\n",SDL_GetError() );
        }
        else
        {
            screensurface = SDL_GetWindowSurface( window ); // Get Window Surface
            SDL_FillRect(screensurface, NULL, SDL_MapRGB(screensurface->format, 0xB30, 0xB30, 0xB30)); // Background interface
            SDL_UpdateWindowSurface( window );

        }

    }

    SDL_Surface *image = SDL_LoadBMP("tux.bmp"); 



    SDL_Event event;
    int quit =  0;
    while(!quit)
    {
        while(SDL_PollEvent(&event))
        {
            if(event.type == SDL_QUIT)
            {
                quit = 1;
            }
            if(event.type == SDL_MOUSEBUTTONDOWN)
            {
                if(event.button.button ==SDL_BUTTON_LEFT)
                printf("Window was clicked%s\n");
            }

        }
    }



    SDL_BlitSurface(image , NULL, screensurface, NULL);
     //Destroy window 
    SDL_Flip(screensurface); // SDL_Flip wird nicht erkannt
     SDL_DestroyWindow( window );
    // Quit SDL subsystems
     SDL_Quit(); 
     return 0;
}

wluc-16

Treue Seele

Beiträge: 212

Wohnort: in der Nähe von Bielefeld :D

Beruf: Schüler

  • Private Nachricht senden

2

09.02.2014, 13:16

SDL_RenderPresent ;)

Man arbeitet doch normlaerweise mit SDL_Renderer oder?

  • »idioticprogrammer« ist der Autor dieses Themas

Beiträge: 18

Wohnort: Im Computer

Beruf: Schüler

  • Private Nachricht senden

3

09.02.2014, 13:23

wirklich ? ok also ich bin eh neu in diese gebiet aber trotzdem danke werde es mal ausprobieren :D

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

4

09.02.2014, 17:21

http://wiki.libsdl.org/SDL_UpdateWindowSurface

Zitat


This is the function you use to reflect any changes to the surface on the screen.

This function is equivalent to the SDL 1.2 API SDL_Flip().


Sofern du allerdings mit SDL + OpenGL arbeitest:
http://wiki.libsdl.org/SDL_GL_SwapWindow
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

Werbeanzeige