Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
30.03.2002, 21:44
snoopdog



Also ich bin jetzt im zweiten tut von Prefect (ja ich habe sie gefunden) naja nur der läd bei mir keine Bitmaps :(
der code
Quellcode:
#include <stdio.h>
#include <stdlib.h>
#include <sdl.h>

#ifdef _WIN32
#undef main
#endif

int main()
{
    SDL_Surface *screen, *bitmap;
    int running;

    if(SDL_Init(SDL_INIT_VIDEO)<0)
    {
        fprintf(stderr,"Konnte net inistialisiert werden: %s\n",SDL_GetError());
        exit(1);
        
    }


    atexit(SDL_Quit);


    screen = SDL_SetVideoMode(640,480,0,0);
    if (!screen) {
        fprintf(stderr, "Konnte Bildschirmmodus nicht setzen: %s\n",
            SDL_GetError());
        exit(1);
    }

    bitmap = SDL_LoadBMP("neu.bmp");
    if (!bitmap) {
        fprintf(stderr, "Bitmap konnte nicht geladen werden: %s\n",
            SDL_GetError());
        exit(1);
    }

    SDL_BlitSurface(bitmap,0,screen,0);
    SDL_UpdateRect(screen,0,0,0,0);
    SDL_FreeSurface(bitmap);


    running = 1;
    while(running)
    {
        SDL_Event event;
        
        while(SDL_PollEvent(&event))
        {
            switch(event.type)
            {
            case SDL_KEYDOWN:
                running = 0;
                break;
            case SDL_QUIT:
                running = 0;
                break;
            }
        }
    }
    return 0;
}

ein einfaches fenster geht ohne Probleme nur der läd det Bitmap net
und die bitmap is in dem Ordner wo auch die Datei ist. Ahh ich mach des mit MSVC6 und somit win

--

Visit our 500er Gamer Lan
@ www.evil-lanparty.de or
@ www.evil-havoc.com
Visit the HaVoc Lanparty Community
@ www.havoc-lanparty.com


Dieser Beitrag wurde am 30.03.2002 um 21:46 von snoopdog bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
30.03.2002, 22:21
snoopdog



hmm ok hat sich erledigt ich konnt ihn nur net übers Visual Studio starten so geht es jetzt
der thread kann gelöscht werden

--

Visit our 500er Gamer Lan
@ www.evil-lanparty.de or
@ www.evil-havoc.com
Visit the HaVoc Lanparty Community
@ www.havoc-lanparty.com

zum Seitenanfang zum Seitenende Profil || Suche
002
31.03.2002, 16:47
Prefect



Alte Usenet-Clients weisen einen beim Posten darauf hin, daß was man sagt vermutlich bis in alle Ewigkeiten archiviert werden wird, und man solle sich dich nochmal überlegen, was man da schreibt.

So sollte es bei Foren auch sein. Einen Thread zu löschen weil er sich erledigt hat ist ziemlicher Quatsch.

Kann es sein, daß du bei Projekt->Einstellungen->Debug den richtigen Pfad einstellen mußt?

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.

zum Seitenanfang zum Seitenende Profil || Suche
003
31.03.2002, 21:54
snoopdog



naja ok hast vielleicht recht mit dem löschen. aber der Post war ja nun wirklich nicht sehr informativ für andere, oder??
Aber ich hab jetzt wieder ein kleines Problem. Ich hab jetzt das dritte tut mal durch gearbeitet und jetzt wenn ich das Programm starte schließt es sich sofort wieder?? Und ich habe die Textur runtergeladen mit den Galaxien..
hier mal der code
Quellcode:
#include <stdio.h>
#include <stdlib.h>
#include <sdl.h>
#include <time.h>

#ifdef _WIN32
#undef main
#endif



    SDL_Surface *g_pSurfScreen;
    SDL_Surface *g_pSurfGalaxies;

    Uint32 g_Black;

#define NUM_GALAXIES 50

struct galaxy
{
    int x, y;
    int type;
};

struct galaxy g_Galaxies[NUM_GALAXIES];

void RandBackground()
{
    int i;
    int num_types;

    num_types = g_pSurfGalaxies->w/16;

    for(i=0;i<NUM_GALAXIES;i++)
    {
        g_Galaxies[i].x=rand() %640;
        g_Galaxies[i].y=rand() %480;
        g_Galaxies[i].type=rand() %num_types;
    }
}

void DrawBackground()
{
    int i;

    for(i=0;i<NUM_GALAXIES;i++)
    {
        SDL_Rect src;
        SDL_Rect dest;

        src.x = g_Galaxies[i].type * 16;
        src.y = 0;
        src.w = 16;
        src.h = 16;

        dest.x = g_Galaxies[i].x;
        dest.y = g_Galaxies[i].y;

        SDL_BlitSurface(g_pSurfGalaxies,&src,g_pSurfScreen,&dest);
    }
}

int main()
{
    

    int running;
    
    srand(time(0));

    if(SDL_Init(SDL_INIT_VIDEO)<0)
    {
        fprintf(stderr,"Konnte net inistialisiert werden: %s\n",SDL_GetError());
        exit(1);
        
    }


    atexit(SDL_Quit);


    g_pSurfScreen = SDL_SetVideoMode(640,480,0,0);
    if (!g_pSurfScreen) {
        fprintf(stderr, "Konnte Bildschirmmodus nicht setzen: %s\n",
            SDL_GetError());
        exit(1);
    }

    g_pSurfGalaxies = SDL_LoadBMP("galaxies.bmp");
    if (!g_pSurfGalaxies) {
        fprintf(stderr, "Konnte Bildschirmmodus nicht setzen: %s\n",
            SDL_GetError());
        exit(1);
    }
    RandBackground();

    g_Black = SDL_MapRGB(g_pSurfScreen->format,0,0,0);
    SDL_FillRect(g_pSurfScreen, 0, g_Black);

    DrawBackground();

    SDL_UpdateRect(g_pSurfScreen, 0, 0 ,0 ,0);








    running = 1;
    while(running)
    {
        SDL_Event event;
        
        while(SDL_PollEvent(&event))
        {
            switch(event.type)
            {
            case SDL_KEYDOWN:
                running = 0;
                break;
            case SDL_QUIT:
                running = 0;
                break;
            }
        }
    }
    SDL_FreeSurface(g_pSurfGalaxies);
    return 0;
}

Denn SDL interessiert mich schon nur wenn das nun net mehr klappt, wäre dumm

--

Visit our 500er Gamer Lan
@ www.evil-lanparty.de or
@ www.evil-havoc.com
Visit the HaVoc Lanparty Community
@ www.havoc-lanparty.com

zum Seitenanfang zum Seitenende Profil || Suche
004
31.03.2002, 22:00
snoopdog



ok ich hab es auch hinbekommen hab anstatt galaxien.bmp galaxies.bmp geschrieben naja nu geht es.
Aber ich hab noch ne Frage SDL kann man nur für 2d Sachen benutzen oder??

--

Visit our 500er Gamer Lan
@ www.evil-lanparty.de or
@ www.evil-havoc.com
Visit the HaVoc Lanparty Community
@ www.havoc-lanparty.com

zum Seitenanfang zum Seitenende Profil || Suche
005
01.04.2002, 01:28
Prefect



Jein.

SDL selbst hat nur 2D-Funktionen, aber SDL bietet ein sehr simples Interface über das man dann auch OpenGL verwenden kann. Auf DHCC sind gerade eben erst zwei Tutorials von mir zu dem Thema erschienen. Mit OpenGL kann man dann natürlich alles machen, was moderne 3D-Hardware so bietet.

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.

zum Seitenanfang zum Seitenende Profil || Suche