Text Function funzt nicht
-
Hi,
ich hab den Fehler mit:SDL_CloseFont
Ans untere Ende der Function getan,
doch der Fehler, liegt wie schon beschrieben beim
SDL_Rect.Wäre für hilfe sehr dankbar,
vielen dank im vorraus.cu max
-
Hi,
@TGGC ich sehe gerade auf deiner Side das du mal mit Darkbasic
gearbeitet hast, wie war dein Name im Forum?(Nur aus interesse?)cu max
-
Master_Max schrieb:
Hi,
@TGGC ich sehe gerade auf deiner Side das du mal mit Darkbasic
gearbeitet hast, wie war dein Name im Forum?(Nur aus interesse?)cu max
er hatte 2
"D.G.A.U.D.A.E.C." - Der Größte Angeber Und Das Arschloch Einer Community
"TGGC - Gay is not enough"
-
Kommst du auch aus dem DB Forum?
cu max
-
Jo bin doch Jarek und muss meinen verwichsten feind TGGC ja mal feuer unterm Arsch machen, damit alle seine dunkle vergangenheit kennen.
-
SDL_Rect:
typedef struct {
Sint16 x, y;
Uint16 w, h;
} SDL_Rect;du musst aber SDL_Color verwenden:
typedef struct {
Uint8 r;
Uint8 g;
Uint8 b;
Uint8 unused;
} SDL_Color;cu
-
Hi,
aha!Danke.
cu max
-
@Master_Max:
Du hast keine konkrete Frage gestellt, also was soll man antworten?Im DB Forum hiess ich auch TGGC, ich hatte noch nie ein anderes Pseudonym.
BTW: Ich habe keinen Streit. Genies haben keinen Streit nötig.
Bye, TGGC
-
Hi,
meine Frage war wo der Fehler liegt, ich hatte ihn ja wie vermutet
bei SDL_Rect, also nun SDL_Color.
Meine Frage hätte aber doch eigentlich für ein "Genie" wie dich
ersichtlich sein sollen.PS:Habs noch nicht hinbekommen, muss mich ersmal mit einer Button erkennung
beschäftigen.Vielen dank.cu max
-
sdlrect hat kein b schrieb:
SDL_Rect:
typedef struct {
Sint16 x, y;
Uint16 w, h;
} SDL_Rect;du musst aber SDL_Color verwenden:
typedef struct {
Uint8 r;
Uint8 g;
Uint8 b;
Uint8 unused;
} SDL_Color;cu
Tja. Das hätte ich Dir ja auch sagen können (auf mich selber sauer sei)...
Mich hatte es auch gewundert, was ein Rectangle mit einer Farbeinstellung zu tun hat, aber da ich NULL Peil von SDL hab' hab' ich's mal lieber gelassen...
-
Master_Max schrieb:
meine Frage war wo der Fehler liegt
Warum hast du dann nicht einfach danach gefragt sondern behauptet "das ist die Fehlerquelle:".
-
Master_Max schrieb:
TextSurface = TTF_RenderText_Solid(pFont, "Alles wird gut",&color);
[/cpp]
Vielen dank im vorraus.
cu maxdas &color stimmt nicht, es sollte nur color heissen
TTF_RenderText_Solid(pFont, "Alles wird besser", color);cu
-
Hi,
vielen dank.
Ich hatte mal wieder Zeit mich damit zu beschäftigen komme aber immer
noch nicht auf den grünen Zweig. Ich hab bei Google und in vielen
Foren gesucht finde aber kein Tutorial. Nun ja, ich habe immer noch einen
Fehler und ich denke alles was ihr gesagt habt berücksichtigt zu haben.
Naja, vielleicht könnt ihr mir ja helfen:
Ein Bsp:#include <SDL.h> #include "SDL_ttf.h" //Präprozessor befehle die leider nötig sind damit SDL läuft. #ifdef _WIN32 #undef main #endif int main(){ SDL_Init(SDL_INIT_VIDEO); SDL_Surface *screen; screen=SDL_SetVideoMode(1024,768,32,0); TTF_Init(); SDL_Surface *TextSurface; TTF_Font *pFont; typedef struct color{ Uint8 r; Uint8 g; Uint8 b; Uint8 unused; }SDL_Color; pFont = TTF_OpenFont("Arial.ttf",12); TTF_CloseFont(pFont); TextSurface = TTF_RenderText_Solid(pFont,"Alles wird besser",&color); //es //ist egal ob ich &color oder nur color schreibe, // ich erhalte bei beiden //den //Fehler. SDL_BlitSurface(TextSurface,NULL,screen,0); SDL_UpdateRects(screen,1,0); SDL_FreeSurface(TextSurface); TTF_Quit(); SDL_Delay(3000); SDL_Quit(); return 0; }
**
//--------------------Konfiguration: TTF_Text - Win32 Debug--------------------
Kompilierung läuft...
codeTTF_Text.cpp
C:\Programme\Microsoft Visual Studio\MyProjects\TTF_Text\codeTTF_Text.cpp(28) : error C2275: "color" : Ungültige Verwendung dieses Typs als Ausdruck
C:\Programme\Microsoft Visual Studio\MyProjects\TTF_Text\codeTTF_Text.cpp(19) : Siehe Deklaration von 'color'
Fehler beim Ausführen von cl.exe.TTF_Text.exe - 1 Fehler, 0 Warnung(en)
**Ich habe doch color richtig definiert oder?
Ich würde mich sehr über hilfe freuen.PS:Wegen den //´s komisch, aber die eingabe spinnt wenn ich sie schreibe,
rücken die wörter der letzten zeile immer nach vorne.cu max
-
Solltest Du dann nicht SDL_Color statt color verwenden?!?
-
- du brauchst sdl_color nicht neu zu definieren, das gibts schon:) nur musst du noch eins mit deinen beliebigen werten füllen...
- dann musst du ttf_closefont() erst nachdem du die schrift nicht mehr benötigst (ende des programms?) aufrufen.
- es ist nicht egal ob du color oder &color übergibst.
- mit "SDL_BlitSurface(TextSurface,NULL,screen,NULL);" blittest du dein textsurface in die linke obere ecke des bildschirms. besser wäre es, als letzten parameter ein SDL_Rect zu übergeben, in dem steht, wohin du die Schrift haben willst.#include <SDL.h> #include "SDL_ttf.h" //Präprozessor befehle die leider nötig sind damit SDL läuft. #ifdef _WIN32 #undef main #endif int main(){ SDL_Init(SDL_INIT_VIDEO); SDL_Surface *screen; screen=SDL_SetVideoMode(1024,768,32,0); TTF_Init(); SDL_Surface *TextSurface; TTF_Font *pFont; pFont = TTF_OpenFont("Arial.ttf",12); SDL_Color color; color.r = color.g = color.b = 255; //schriftfarbe weiss TextSurface = TTF_RenderText_Solid(pFont,"Alles wird besser",color); SDL_BlitSurface(TextSurface,NULL,screen,NULL); SDL_UpdateRects(screen,1,0); SDL_FreeSurface(TextSurface); TTF_CloseFont(pFont); TTF_Quit(); SDL_Delay(3000); SDL_Quit(); return 0; }
ich habe jetzt nicht alles ganz genau durchgesehen und auch nicht getestet, aber eigentlich sollte es so gehen.
-
Hi,
vielen dank.
Du bist wieder ein beweis das die unregistrierten sehr gut sind.
@TGGC und nicht immer "Trollen"
Nochmals danke.
Sorry, aber ich blick nie bei der SDL Docu durch,
vorallem eben nicht bei den Datentypen, da die nicht in
der Deutschen Doku erklärt werden.cu max
-
Hi,
leider geht es immer noch nicht.
Er kompiliert linkt es und führt es aus,
aber sofort nachdem er mit der Ausführung anfängt,
gibt er einen schweren Fehler aus und tut debuggen.
Naja ich linke alles was ich brauche, die header sind alle
includiert ich weis nicht mehr an was es liegen sollte,
ich werde wohl ne eigene Bmp font linie machen müssen.
Ich will euch nicht mehr plagen.PS:Es hat irgendetwas mit der SDL.dll zu tuen, aber
die ist auch im richtigen System Verzeichniss,
Win Xp System32.cu max
-
Noch ein letztes Mal color und &color tauschen...!??
-
hallo
evtl bracht die sdl_ttf double buffering? (kA obs wirklich so ist, bin auch noch sdl noob
)
#include <SDL.h> #include "SDL_ttf.h" //Präprozessor befehle die leider nötig sind damit SDL läuft. #ifdef _WIN32 #undef main #endif int main(){ SDL_Init(SDL_INIT_VIDEO); SDL_Surface *screen; screen=SDL_SetVideoMode(1024,768,32,SDL_DOUBLEBUF); //doublebuffering aktivieren TTF_Init(); SDL_Surface *TextSurface; TTF_Font *pFont; pFont = TTF_OpenFont("Arial.ttf",12); SDL_Color color; color.r = color.g = color.b = 255; //schriftfarbe weiss TextSurface = TTF_RenderText_Solid(pFont,"Alles wird besser",color); SDL_BlitSurface(TextSurface,NULL,screen,NULL); SDL_Flip(screen); //'fertiges' screen anzeigen SDL_FreeSurface(TextSurface); TTF_CloseFont(pFont); TTF_Quit(); SDL_Delay(3000); SDL_Quit(); return 0; }
-
auch auf dei gefahr hin mir viele viele viele feinde zu machen, möchte ich einmal TGGC zitieren:
LERN CODEN!