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
#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.
|
|
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
|
|
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.
|
|
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
#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
|
|
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
|
|
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.
|
|
Profil || Suche
|