Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]4920[/thread]

SDL - Text ausgeben: mittels SDL::SFont

Leser: 1


<< >> 3 Einträge, 1 Seite
pktm
 2005-04-06 23:28
#43359 #43359
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!

Ich benutzt SDL_Perl (Simple DirectMedia Layer for Perl) um eine grafische Oberfläche zu erzeugen.
Jetzt würde ich darauf gerne einfach nur einen Text ausgeben, ähnlich einem Label bei Perl/Tk.
Mein Code dazu erzeugt das besagte Fenster, eine SFont-Schrift und sollte dann eigentlich einen Text in das Fenster schreiben.
Leider bleibt das Fenster einfach schwarz (nein, die Schrift ist nicht schwarz :) ).
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/Perl/bin/perl

use strict;
use warnings;
use Data::Dumper;
use File::Spec;
use SDL;
use SDL::App;
use SDL::Color;
use SDL::SFont;

# Fenster erstellen (alles an Init-Arbeot und dergleichen wird hier getan)
my $app = SDL::App->new(
   -title => 'Animation',
   -width => 640,
   -height => 480,
   -depth => 32,
);

# da ist die Schrift zu finden
my $fontPath = File::Spec->catfile('C:','Perl','SDL','verdana.ttf_10_0_146_219.bmp');
# Jetzt die Schrift laden
my $f = SDL::SFont::NewFont($fontPath);
# Un dhier nun sollte m.E. nach ein netter Schriftzug im Fenster erscheinen...
# Edit: war völlig falsch...
#SDL::SFont::PutString($app, $f, 100, 100);
# sp ist es richtig:
SDL::SFont::PutString($app, 100, 100, 'Text');
# nur noch mal zur Sicherheit (wird eigentlich durch den loop erledigt)
$app->update();

# Event-Abfrage
my %actions = (
   SDL_QUIT() => sub { exit(0); },
   SDL_KEYDOWN() => \&keydown,
);

# quasi MainLoop;
$app->loop(\%actions);

# Sub f+ür den Moment, wo ich mal einen Text ausgeben kann...
sub keydown {
   # blah
} # /keydown


Kann mir da wer weiter helfen?
zufällig?
Irgendwer?
mfg pktm\n\n

<!--EDIT|pktm|1112906356-->
http://www.intergastro-service.de (mein erstes CMS :) )
jemand
 2005-04-07 20:37
#43360 #43360
User since
2004-05-14
231 Artikel
BenutzerIn
[default_avatar]
Hallo,
ich hab bei deinem letzten thread schon mal rumgerätselt, bin soweit gekommen dass die parachute fehlermeldung nicht mehr kam aber auch der text nicht angezeigt wurde...
Habe mir damals auch weng c code dazu angesehen, nur um dann festzustellen, dass es fast keine leute gibt die mit sdl text ausgeben wollen. Ich werde wohl wieder mit Tk weitermachen.
Übrigens hast du bei PutString die Parameterreihenfolge vermurkst. Es sollte wohl wie folgt sein:
SDL::SFont::PutString($app, 10, 10, 'Text');

Kommt bei dir eine Fehlermeldung?

Da ich nicht weiter kam und sonst scheinbar auch niemand ne Ahnung hat wie man das richtig macht werde ich wohl wieder zum guten alten TK zurück gehen.
print uc 'i',chr(29*4).q+'s +.++($_=q-m-),++$_;
print chr for 116,$_[0],97,$_[0],98;
print 'ug,',chr(), scalar reverse qq?!erutaef a s'ti?;
pktm
 2005-04-08 00:52
#43361 #43361
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Weist du, manchmal könnte ich mir echt an den Kopf fassen.
RTFM!
=> http://search.cpan.org/src/DGOEHRIG/SDL_Perl-2.1.2/test/README

Das Ganze gibt es auch noch für openGL...
Einfach auf der SDL-Perl Seite auf CPAN mal ganz nach unten scrollen.

Edit: was vergessen\n\n

<!--EDIT|pktm|1112907170-->
http://www.intergastro-service.de (mein erstes CMS :) )
<< >> 3 Einträge, 1 Seite



View all threads created 2005-04-06 23:28.