Write var

From Bennu Wiki
Jump to: navigation, search


Syntax

INT write_var ( <INT fontID> , <INT x> , <INT y> , [<INT z>] , <INT alignment> , <VARSPACE var> )

Description

Writes a variable of any kind to the screen, which will be automatically updated when the value of the variable changes. The variable will remain on the screen until deleted with delete_text().

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 z - The depthplane of the text (optional, introduced in version rc282).
INT alignment - The type of alignment.
VARSPACE var - The name of any variable.

Returns

INT : TextID

-1 - Error.
>=0 - The TextID of the text.

Notes

Please note that for the varspace var parameter no pointer should be filled out, while write_int()/write_string()/write_float() do require a pointer.

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.

Instead of write_var(), write_int() could be used to write an int to the screen, write_string() for a string, write_float() for a float.

Errors

Too many texts onscreen - There are too many texts on the screen.

Example

import "mod_text"
import "mod_key"

Global
    my_integer=0;
    string my_string="Bennu Game Development";
End

Process Main()
Begin

    write_var(0,0,0,0,my_string);
    write_var(0,320/2,200/2,4,my_integer);

    Repeat
        my_integer=rand(1,1000);
        frame;
    Until(key(_ESC))

End

Used in example: write_var(), rand(), key()

This will result in something like:
Write var.png