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

spacegaier

Alter Hase

  • »spacegaier« ist der Autor dieses Themas

Beiträge: 572

Beruf: Student

  • Private Nachricht senden

1

17.09.2006, 22:12

[SDL]_ttf

Hat hier jemand ERfahrung mit SDL_ttf oder anderen Arten der Textausgabe mit der SDL? Ich kapie des nömlich nicht. Man braucht dafür irgendwie TrueType 2.x und Includedateien, die ich trotz Downloads net finden kann? Auch die vielen (leider englischen) Tutroials helfen mir nicht.

Kann mir jemand helfen?

//EDIT: Da steht oftmals auch noch was von Build, was muss ich denn dann noch wie erstellen?

Pit

Frischling

Beiträge: 42

Wohnort: Luxemburg

  • Private Nachricht senden

2

18.09.2006, 18:23

Ich nehme mal an, dass Du die Libs schon runtergeladen und dem Projekt hinzugefügt hast.
Dann zum Code:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <SDL_ttf.h>

//dann in der main

TTF_Init();
TTF_Font *font = TTF_OpenFont("Schriftart.ttf",18);    //Beim ersten Parameter die Schriftart einsetzen, der Zweite ist die Schriftgrösse

SDL_Color clrBlack = {0, 0, 0};
SDL_Surface *stext = TTF_RenderText_Solid(font, "Dein Text", clrBlack);
SDL_Rect dstTextKoordinaten = {Deine-X-Position, Deine-Y-Position, 0, 0};

//dann in der Hauptschleife

SDL_BlitSurface(stext, NULL, screen, &dstTextKoordinaten);

//und dann zu guter Letzt noch

SDL_FreeSurface(stext);


Hab das jetzt schnell aus einem ziemlich alten Code zusammengesucht. Hoffe mal, dass keine Fehler drin sind. Und wenn man mal ein Problem hat, dann nicht die Dokumentation vergessen.

spacegaier

Alter Hase

  • »spacegaier« ist der Autor dieses Themas

Beiträge: 572

Beruf: Student

  • Private Nachricht senden

3

18.09.2006, 21:07

HAb den Code jetzt ausprobiert. Er sieht jetzt so aus.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <SDL_ttf.h> 

int main(int argc, char *argv[])
{
    SDL_Surface *screen;
    TTF_Init(); 
    TTF_Font *font = TTF_OpenFont("Arial.ttf",18);    //Beim ersten Parameter die Schriftart einsetzen, der Zweite ist die Schriftgrösse 

    SDL_Color clrBlack = {0, 0, 0}; 
    SDL_Surface *stext = TTF_RenderText_Solid(font, "Dein Text", clrBlack); 
    SDL_Rect dstTextKoordinaten = {200, 300, 0, 0}; 

    //dann in der Hauptschleife 

    SDL_BlitSurface(stext, NULL, screen, &dstTextKoordinaten); 

    //und dann zu guter Letzt noch 

    SDL_FreeSurface(stext); 

    return(0);
}


Jetzt kommen aber drei Linkerfehler und ich weiß nicht wie ich die in diesem Fall beheben kann.

[list]font -sp error LNK2019: Nicht aufgelöstes externes Symbol '_TTF_Init', verwiesen in Funktion '_SDL_main'
font -sp error LNK2019: Nicht aufgelöstes externes Symbol '_TTF_OpenFont', verwiesen in Funktion '_SDL_main'
font -sp error LNK2019: Nicht aufgelöstes externes Symbol '_TTF_RenderText_Solid', verwiesen in Funktion '_SDL_main'
[/list]
Was du/ihr ein Idee?

Anonymous

unregistriert

4

18.09.2006, 21:19

Library nicht gelinkt?

spacegaier

Alter Hase

  • »spacegaier« ist der Autor dieses Themas

Beiträge: 572

Beruf: Student

  • Private Nachricht senden

5

18.09.2006, 21:21

Ich habe sdl.lib sdlmain.lib gelinkt. Gibt es noch eine Extra-Lib-Datei für SDL_ttf? Habe nämlich keine?

Anonymous

unregistriert

6

18.09.2006, 21:26

http://www.libsdl.org/projects/SDL_ttf/

EDIT: Suchmaschinen sind deine Freunde ;)

spacegaier

Alter Hase

  • »spacegaier« ist der Autor dieses Themas

Beiträge: 572

Beruf: Student

  • Private Nachricht senden

7

18.09.2006, 21:41

Ja und jetzt (von der Seite habe ich ja meine Dateien was soll ich jetzt linken? Ich habe mir die Binary und den Source runtergeladen. Und wo ist da die gesuchte Lib?

Anonymous

unregistriert

8

18.09.2006, 21:49

Dann builde mal den Source, such grad selber noch nach den Lib's,
könntest du auch noch machen.

spacegaier

Alter Hase

  • »spacegaier« ist der Autor dieses Themas

Beiträge: 572

Beruf: Student

  • Private Nachricht senden

9

18.09.2006, 21:54

Was heißt "build"? Was soll ich hier wie erstellen? Mit den .dll's und .lib's kenn ich mich noch nicht richtig aus (bin dabei mir des anzueignen (u.a. durch die Tutorialsektion)).

PS: Sidn Grundlagen ich weiß :roll: .

Anonymous

unregistriert

10

18.09.2006, 21:56

So, habs gebuildet: Klick!

Sollte funktionieren.

EDIT: Oh man builden ist kompilieren...

Werbeanzeige