This wiki is out of date, use the continuation of this wiki instead

Write

From FenixWiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 02:33, 24 July 2007 (edit)
Rincewind (Talk | contribs)
(linked to alignment modes article, notes added)
← Previous diff
Revision as of 02:35, 24 July 2007 (edit) (undo)
Rincewind (Talk | contribs)
(Notes - <1000 --> 512)
Next diff →
Line 29: Line 29:
== Notes == == Notes ==
-There is a limit of an unknown amount (>1000) of texts to simultaneously exist on the screen. The program will crash when this number is reached.+There is a limit of 511 texts to simultaneously exist on the screen. The program will crash with an error when this number is reached.
The text depth can be changed by adjusting the global variable [[text_z]]. The text depth can be changed by adjusting the global variable [[text_z]].

Revision as of 02:35, 24 July 2007


Contents

Definition

INT write ( <INT fontID> , <INT x> , <INT y> , <INT alignment> , <STRING text>)

Puts a dynamic text with a certain font on certain coordinates on the screen with a certain alignment.

Parameters

INT fontID - The FontID of the font to be used for the text.
INT x - The X coordinate of the text.
INT y - The Y coordinate of the text.
INT alignment - The type of alignment.
STRING text - The text to be used.

Returns

INT : TextID

0 - Error. The text could not be obtained or was empty.
 !0 - The TextID of the text.

Notes

There is a limit of 511 texts to simultaneously exist on the screen. The program will crash with an error when this number is reached.

The text depth can be changed by adjusting the global variable text_z.

To write variables to the screen, rather use write_int(), write_string(), write_float() or write_var() than this command.

To write text on a map you can use the command write_in_map().

Example

Program texts;
Const
    maxtexts = 10;
Private
    int textid[maxtexts-1];
    string str;
    float flt;
Begin

    // Set FPS
    set_fps(60,0);

    // Write some texts
    textid[0] = write(0,0,0,0,"FPS:");
    textid[1] = write_int(0,30,0,0,&fps);
    textid[2] = write_string(0,160,95,1,&str);
    textid[3] = write_float(0,160,105,0,&flt);

    // Update the texts until ESC is pressed
    Repeat
        // Notice the texts get updated as the values of str and flt changes.
        // The same goes for the value of fps.
        str = "This program is running for " + timer/100 + " seconds.";
        flt = (float)timer/100;
        frame;
    Until(key(_esc));

    // Delete the texts
    for(x=0; x<maxtexts; x++)
        if(textid[x]!=0)
            delete_text(textid[x]);
        end
    end

End

Used in example: set_fps(), write_int(), write_string(), write_float(), key(), delete_text(), array, fps, TextID

This will result in something like:
texts.PNG

Personal tools