digits(x, y, format, font, factor, var);
Zahlen- oder Textanzeige.
Parameter
x |
Horizontaler Abstand zur oberen linken Ecke des Panels, in Pixel. |
y |
Vertikaler Abstand zur oberen linken Ecke des Panels, in Pixel. |
format |
Formatparameter, entweder eine Zahl oder ein Textstring. Bei Zahlen
gibt der ganzzahlige Anteil die Gesamtzahl der Zeichen für die Darstellung
der Variablen, der Nachkommaanteil die
Anzahl der Nachkommastellen der Anzeige an (z. B. 5.1 = insgesamt 5 Zeichen,
bestehend aus 3 Vorkommastellen, Dezimalpunkt, 1 Nachkommastelle). Ist
die Zahl negativ, werden führende
Nullen angezeigt.
Alternativ kann ein C-Formatstring angegeben werden. Er definiert das
Format der Zahlenanzeige mit einem vor- und nachstehenden Text und ist
folgendermaßen
zusammengesetzt (siehe auch Beispiele):
"[text1]%[flags][width][.precision]f[text2]"
[text1] = Optionaler vorangestellter Text.
[flags] = Optional ein oder mehrere der folgenden Zeichen:
- = Links ausrichten innerhalb der Stellenzahl.
Default: Rechts ausrichten.
+ = + oder - Zeichen voranstellen. Default: Minuszeichen
nur für negative Zahlen.
0 = Führende Nullen, bis die Stellenzahl (width)
erreicht ist. Default: Führende Leerzeichen.
blank (' ') = Positiven Zahlen ein Leerzeichen
voranstellen. Default: Kein Leerzeichen.
# = Dezimalpunkt immer anzeigen. Default: Dezimalpunkt
nur bei folgenden Nachkommastellen.
[width] = Minimale Zahl der Stellen.
[.precision] = Maximalzahl der Nachkommastellen.
[text2] = Optionaler nachgestellter Text.
Die '%..f' Zeichenfolge kann weggelassen werden, um nur Text,
aber keine Zahl anzuzeigen. Die Gesamtlänge des Formatstrings darf 100
Zeichen nicht überschreiten, und der Format-String darf nicht nur aus einer
Zahl ohne alphabetisches Zeichen bestehen. Ein '%s' repräsentiert einen String, der für den var-Parameter gegeben ist. Um eine prozentuales Zeichen darzustellen, verwenden Sie '%%'. Eine ausführlichere Beschreibung von Format-Strings im C-Sti - die auch für die Funktion printf verwendet werden - finden Sie in jedem Buch über C/C++.
Eine ausführlichere
Darstellung von C-Formatstrings finden Sie in C/C++ Büchern. |
font |
TrueType- oder Bitmap-Zeichensatz für die Anzeige. Entweder kann
ein vordefinierter FONT oder A6.6 ein
Font-Dateiname respektive ein Truetype-Fontname mit Größe und Stil (wie "Arial#24bi")
gegeben werden. Wird '*' gegeben, wird er Standardfont der Engine
verwendet
|
factor |
Um diesen Wert wird die Variable vor der Darstellung multipliziert. Das
Resultat unterliegt nicht den Einschränkungen von Variablen, d.h. es
kann größer als 999999.999 werden, so daß auch extrem große
Zahlen angezeigt werden können. |
var |
Globale var, Objekt-Parameter oder LC ein vordefiniertes, globales STRING*, das angezeigt werden soll. In diesem Fall rpräsentiert "%s" den Inhalt von STRING im Format-Parameter. |
Bemerkungen:
- Statt Zahlen anzuzeigen, kann auch eine spezielle Font-Bitmap zur Anzeige
von Symbolen in einem einstelligen Display verwendet werden.
- Zum Darstellen von statischem Text, verwenden Sie den Formatparameter und geben anstelle einer Variablen 0. Dies läßt sich z. B. zum Platzieren eines Textes auf einem Button-Element verwenden.
- Ist ein Variablenwert höher als die vom Formatwert angegebene Anzahl von Stellen, werden mehr Stellen dargestellt.
- Variablen zum Anzeigen in Fließkomma umgewandelt. Bei hohen Werten werden daher Nachkommastellen ungenauer angezeigt.
- Nur globale var-Variablen oder global vordefinierte STRING*-Pointer können angezeigt werden (keine int, float, char - oder sonstige Variablentypen). Die var kann Teil eines globalen Structs oder eines Arrays sein, jedoch keinem multidimensionalen Array angehören.
- Digits werden nicht um den Panelwinkel gedreht.
- Digits werden mit den Flags CENTER_X und CENTER_Y zentriert, können Truetypeeffekte mit den Flags OUTLINE und SHADOW verwenden und werden in den Panelfarben blue, green, red koloriert.
- Font-Dateinamen oder Truetype-Fontnamen dürfen keine Leerzeichen enthalten.
- Digits-Elemente lassen sich mit pan_setdigits zur Laufzeit hinzufügen oder verändern.
Beispiele:
FONT* digit_font = "digit.pcx";
PANEL* aircraft_pan =
{
digits(0,0,4,digit_font,1000,player.skill10);
digits(60,0,4,digit_font,1,player.skill11);
digits(120,0,4,"digit2.pcx",1,my_height);
digits(10,10,5.1,*,1,time_step); // 5.1 = 3 integer and 1 decimal digit
flags = SHOW;
}
//Examples for format strings (the variable x = 123456.789 is displayed in the standard font):
digits(0,0,"%f",*,1,x); // "123456.789"
digits(0,0,"%.0f",*,100000,x); // "1234578900"
digits(0,0,"%010.0f",*,1,x); // "000123457"
digits(0,0,"Vol: %.1f ltr",*,1,x); // "Vol: 123456.8 ltr"
digits(0,0,"Just a text",*,0,0); // "Just a text"
digits(0,0,0,*,1,tex_name); // "brickwall"
digits(0,0,"Texture Name: %s",*,1,tex_name); // "Texture name: brickwall"
Siehe auch:
PANEL,pan_setdigits, pan_setpos ► Aktuelle Version Online