Autor Thema: Textlänge in Pixel bestimmen  (Gelesen 3525 mal)

Bòógieman

  • International anerkannter Superheld
  • Globaler Moderator
  • alter Tentakel
  • *****
  • Beiträge: 2654
  • Geschlecht: Männlich
  • Grün Tentakel = Running Sushi!
    • Profil anzeigen
Textlänge in Pixel bestimmen
« am: 05. Februar 2007, 21:10:34 »
ich will einen Text via Overlay X-zentriert ausgeben
dafür müsste ich aber die textlänge in pixel bestimmen
gibt es da nen AGS-befehl dafür? ???

momentan mach ich das so:
Text2 = Overlay.CreateTextual(63, 87, 210, 1, 15,"\"Maniac Mansion\" von LucasFilm");also fixe koordinaten, die genau zu dem text passen
klappt auch ganz schön, aber leider funkt das nur bei einer sprache ;)
für zB eine englische übersetzung würden die koordinaten nicht mehr passen :(
die einzelnen buchstaben der MM-font sind leider auch nicht gleich breit, also kann ich das leider nicht mit Textlänge*Zeichenbreite lösen :-\
Schlachtaman Vibrations, UHYEAH!!!
_________________________________

>>>> Ende der Kommunikation <<<<

Rocco

  • Administrator
  • alter Tentakel
  • *****
  • Beiträge: 2352
  • Geschlecht: Männlich
    • Profil anzeigen
    • Maniac Mansion Mania
    • E-Mail
Re: Textlänge in Pixel bestimmen
« Antwort #1 am: 05. Februar 2007, 23:52:50 »
ich hab das beim ags-shoot'em up für die punkteausgabe so gelöst:

 
  player.x = system.viewport_width/2;
  player.y = 2;
  String text = String.Format("Lives: %d          Score: %06d", vehicle.lives, vehicle.score );
  player.SayBackground(text);

mit einem char,
müsste bei dir eigentlich auch funktionieren.

KhrisMUC

  • Moderator
  • volljähriger Tentakel
  • *****
  • Beiträge: 988
    • Profil anzeigen

Bòógieman

  • International anerkannter Superheld
  • Globaler Moderator
  • alter Tentakel
  • *****
  • Beiträge: 2654
  • Geschlecht: Männlich
  • Grün Tentakel = Running Sushi!
    • Profil anzeigen
Re: Textlänge in Pixel bestimmen
« Antwort #3 am: 06. Februar 2007, 08:26:12 »
@KhrisMUC: besten Dank!
genau das hab ich gesucht! hab das gestern einfach nicht in der AGS-hilfe gefunden
hab nach allem gesucht, wie TextSize, TextLength, TextWidth, CalcTextWidth, etc.
war aber wohl etwas zu übermüdet um an GET zu denken  ::) :-[ ;D

@Rocco: das würde aber leider nur mit einer zeile funktionieren
hab irgendwie vergessen zu erwähnen, dass ich ja mehrere zeilen gleichzeitig mit unterschiedlichen farben anzeigen will
um genau zu sein, geht es um die credits von episode 53 (falls sich da noch jemand dran erinnen kann  ;) )
z.B so:
Vielen Dank für die Hilfe an
KhrisMUC
und Rocco
Schlachtaman Vibrations, UHYEAH!!!
_________________________________

>>>> Ende der Kommunikation <<<<

Rocco

  • Administrator
  • alter Tentakel
  • *****
  • Beiträge: 2352
  • Geschlecht: Männlich
    • Profil anzeigen
    • Maniac Mansion Mania
    • E-Mail
Re: Textlänge in Pixel bestimmen
« Antwort #4 am: 06. Februar 2007, 16:38:33 »
würde glaub ich auch mehrzeilig funktionieren, irgendwie kann man auch den zeilenumbruch regulieren.
aber ist sowieso nicht das was du wolltest, deswegen bist du mit GetTextWidth optimal bedient.  :)

info: Display ist auch eine funktion die defaultmässig am bildschirm zentriert dargestellt wird.

Bòógieman

  • International anerkannter Superheld
  • Globaler Moderator
  • alter Tentakel
  • *****
  • Beiträge: 2654
  • Geschlecht: Männlich
  • Grün Tentakel = Running Sushi!
    • Profil anzeigen
Re: Textlänge in Pixel bestimmen
« Antwort #5 am: 06. Februar 2007, 18:51:10 »
ja, aber die haben alle die ungünstige angewohnheit, dass immer nur ein text sichtbar sein kann
jeder weitere aufruf löscht den vorgängertext
und das mit dem zeilenumbruch hab ich damals schon krampfhaft versucht, aber hab nix zustandegebracht
\n sowie die passenden ASCII-zeichen haben einfach nicht funktioniert :(

naja, is ja auch egal jetzt ;)
Schlachtaman Vibrations, UHYEAH!!!
_________________________________

>>>> Ende der Kommunikation <<<<