Fragen zu meinem Spiel... (Scribble)


Kampfschaf

Still Fresh
Joined
Dec 12, 2008
Messages
13
Nabend erstmal!

Ich übe zur Zeit ein wenig C++... Programmieren tue ich mit Dev-C++ !!!

Anfangen werde ich vorerst mit einem simplen Scribble Game! Kennt denke ich jeder!? Ich habe mal mein komplettes Projekt gepackt und einige Fragen zum Source:

1. Sobald ich "SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, r, g, b));" mit "SDL_BlitSurface(background, NULL, screen, NULL);" ersetze ruckelt das Spiel total auf meinem F200. background ist in dem Fall ein 320x240 Bild.

2. Gibt es globale Variablen in C++? Ich denke doch in VB6 gibts diese auch. Ein Beispiel ist: "SDL_FreeSurface(textSurface);" Sobald ich dies in meine main packe (momentan ist es in einer render.h) muckt er rum und sagt: "...\main.c `textSurface' was not declared in this scope". Was schließe ich daraus?

Reicht erstmal mehr kommt sicher ;)

DL RS: http://www.rapidshare.com/files/179534594/Maus.zip (342 kb)
DL MU: http://www.megaupload.com/de/?d=5FQQEHHF (342 kb)
 
Hallo,

zum einen ist das sicher nicht C++. Sieht eher wie haessliches C mit C++ gemischt aus :)

1.
dein Background-Surface solltest du vorher noch mit SDL_DisplayFormat an den Bildschirm anpassen. Sprich:
Surface* tmp = IM_Load("blabla");
background = SDL_DisplayFormat(tmp);
SDL_FreeSurface(tmp);

2.
Du mischst definition mit deklaration. In den Header-Dateien sagt man ueblicherweise, was die entsprechende .C Datei kann bzw. enthaelt, beispiel:
render.h
void clearsceen();

render.c
void clearscreen() {
// do something
}

Die Render.h - Dateien fuegst du jeweils zu den C Dateien hinzu (wie du es schon getan hast) und setzt noch ein Include-Guard Konstrukt drumherum.
Beispiel:
render.h
#ifndef RENDER_H
#define RENDER_H

void clearscreen();

#endif

Edit:
Du solltest pruefen, ob du auch Hardware-Surfaces hast. Steht alles notwendige in der DOku dazu SDL.

Gruss
Michael
 
Danke erstmal für die Tipps. Aber trotz dessen wirds auf dem F200 eher noch langsamer. Ist aber auch nur wenn ich ein größeres Bild rendere. Ich mein wenn Du einen F200 da hast kannste es gern esten die Unterschiede in der Geschwindigkeit sind enorm!
 
Jetzt müsst ich wissen was Du genau meinst!? Ich habe mir das "gp2xsdk_windows" runtergeladen, da ich dort nichts einstellen musste und direkt alles ging.
 
Back
Top