Zahlen nach dem komma kleiner darstellen???

  • GM 8
  • Zahlen nach dem komma kleiner darstellen???

    Hallo zusammen,

    ich habe mal eine Frage, die für euch wahrscheinlich einfach zu beantworten ist.

    Ich habe einen Eurowert. Sagen wir 14,20€

    Nun würde ich gerne die Zahl nach dem komma, also die 20 kleiner darstellen lassen. Geht das??

    Meine Variable ist: moneybank

    Dank im Vorraus..

    Gruß

    Groni
  • das wäre eine Idee :)

    Kannst Du mir evtl auch noch etwas verraten?

    also ich habe ein Feld Moneybank, und ein Feld Pointbank.

    Moneybank hat nun sagen wir 10,00 Euro drauf, nun möchte ich den Wert in Punkte umwandeln, und diese sollen dann in der
    Pointbank angezeigt werden. 10 Euro = 10000 Punkte. Dies soll aber nach möglichkeit animiert geschehen. Also nicht nur von einem
    Feld zum anderen springen, sondern er soll die 10 runterzählen, und dabei die Punkte rauf.
    Müsste doch gehen oder??
  • also ganz verstehe ich das nicht. Kann mir einer evtl. ein Beispiel posten?

    Nochmal:

    nehmen wir die zahl 1420
    Die 14 Soll gross dargestellt werden, die 20 klein. Die zahl soll aber als ganze zählen, so das GM mit der 1420 arbeiten kann.
    Der Wert soll natürlich veränderbar sein. Das heisst wenn zu den 1420 jetzt angenommen 50 dazu kommen, soll dies auch berücksichtigt werden. Als 14 gross und 70 klein....

    Wenn ich eine Variable für 14 und eine für 20 nehme, dann weiss ich nicht, wie ich GM sage, das die Zahl die er darstellt 1420 ist.

    Ich hoffe Ihr versteht es so??
  • Das hilft schon weiter, Wenn auch noch nicht komplett.

    Stell Dir folgendes vor:

    Unsere Moneybank steht auf Null. Durch drücken einer Taste zählt er immer 5 dazu. Wenn nun die Zahl 100 erreicht,
    soll die 1 größer dargestellt werden, und die 00 kleiner. Das heisst also immer 0 bis 95 klein.

    Hoffe so ist es ein wenig verständlicher?

    Lieben Gruß

    GRONI
  • Ins Create Event kommt:

    GML-Quellcode

    1. global.moneybank = 0
    2. global.moneybank_euro = 0
    3. global.moneybank_cent = 0

    Step Event:

    GML-Quellcode

    1. if keyboard_check_pressed(vk_enter)
    2. {
    3. global.moneybank_cent += 5
    4. }
    5. if global.moneybank_cent >= 100
    6. {
    7. global.moneybank_euro += 1
    8. global.moneybank_cent -= 100
    9. }
    10. global.moneybank = real(string(global.moneybank_euro)+string(global.moneybank_cent))
    Alles anzeigen

    Ins Draw Event kommt:

    GML-Quellcode

    1. draw_set_font(fnt_big)
    2. var width, height;
    3. width = string_width(global.moneybank_euro)
    4. height = string_height(global.moneybank_euro)
    5. draw_set_valign(fa_bottom)
    6. draw_text(x,y+height,global.moneybank_euro)
    7. if global.moneybank >= 100
    8. {
    9. draw_set_font(fnt_small)
    10. draw_text(x+width,y+height,global.moneybank_cent)
    11. }
    Alles anzeigen

    Hab es nicht getestet, müsste aber gehen. ;)
  • funktioniert nicht ganz....
    Der Vorgang an sich klappt, nur macht er nach 95 nicht eine grosse 1 und zwei mal 0, sondern eine grosse 1 und eine null, was der Moneybank dann natürlich sagt, das der wert 10 und nicht 100 ist.
    Also es müssen nur die 2 Nullen dargestellt werden, dann klappt alles.
  • 1.Um Reals zu drawen muss man die zu Strings machen(oder hat sich das seit GM8 geändert?)Ok Virus27 hat mich erinnert das man auch Reals so drawen kann, wobei wenn du einen Text davor machen willst musst du die Real zu nehm String machen:

    GML-Quellcode

    1. draw_set_font(fnt_big)
    2. var width, height;
    3. width = string_width(string(global.moneybank_euro))
    4. height = string_height(string(global.moneybank_euro))
    5. draw_set_valign(fa_bottom)
    6. draw_text(x,y+height,string(global.moneybank_euro))
    7. if global.moneybank >= 100
    8. {
    9. draw_set_font(fnt_small)
    10. var str;
    11. str=string(global.moneybank_cent);
    12. if (real(str)<10) { str="0"+str; }
    13. draw_text(x+width,y+height,str)
    14. }
    Alles anzeigen

    So würde ich das machen.

    GML-Quellcode

    1. if keyboard_check_pressed(vk_enter)
    2. {
    3. global.moneybank_cent += 5
    4. }
    5. if global.moneybank_cent >= 100
    6. {
    7. global.moneybank_euro += 1
    8. global.moneybank_cent -= 100
    9. }
    10. var str;
    11. str=string(global.moneybank_cent);
    12. if (real(str)<10) { str+="0"; }
    13. global.moneybank = real(string(global.moneybank_euro)+str)
    Alles anzeigen
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von henrik1235 ()

  • Ich weiß nicht genau, ob es nun das ist, wonach du genau suchst, aber ich habe mal ebens etwas zusammengeschlampt:

    draw_real

    GML-Quellcode

    1. /*
    2. draw_real(
    3. font_1,
    4. font_size_1,
    5. font_2,
    6. font_size_2,
    7. value,
    8. x,
    9. y,
    10. dez);
    11. drawt einen real in 2 verschiedennen größen und mit gegebener anzahl dezimalen
    12. */
    13. var t_v, t_h, f_1, f_2, xx, yy, fs_1, fs_2;
    14. t_v = floor(argument4);
    15. t_h = frac(argument4)*power(10,argument7);
    16. f_1 = argument0;
    17. f_2 = argument2;
    18. fs_1 = argument1;
    19. fs_2 = argument3;
    20. xx = argument5;
    21. yy = argument6;
    22. draw_set_font(f_1);
    23. draw_text(xx,yy,string(t_v));
    24. var w;
    25. w = string_width(string(t_v));
    26. draw_set_font(f_2);
    27. draw_text(xx+w+2,yy+(fs_1-fs_2),string(round(t_h)));
    28. return true;
    Alles anzeigen


    Eine Erklärung:

    GML-Quellcode

    1. draw_real(font0, 12, font1, 8, image_index/999, 10, 20, 3);
    2. /*
    3. font0 ist die font für den großen teil
    4. 12 ist dessen größe. Muss sein, da es kein font_get_size o.Ä gibt
    5. font1 ist der hintere teil
    6. 8 -"-"-"-"-
    7. image_index/999 ist der zu drawene wert
    8. 10 ist die x position
    9. 20 die y position
    10. 3 die anzahl der dezimalen
    11. */
    Alles anzeigen


    Hoffe es ist das Gesuchte.

    Download der gmk (gm8)

    MfG SDX
  • Benutzer online 1

    1 Besucher