- This wiki is out of date, use the continuation of this wiki instead
Write
From FenixWiki
(Difference between revisions)
| Revision as of 22:43, 27 June 2007 (edit) Sandman (Talk | contribs) m ← Previous diff |
Revision as of 02:33, 24 July 2007 (edit) (undo) Rincewind (Talk | contribs) (linked to alignment modes article, notes added) Next diff → |
||
| Line 5: | Line 5: | ||
| '''INT''' write ( <'''INT''' fontID> , <'''INT''' x> , <'''INT''' y> , <'''INT''' alignment> , <'''STRING''' text>) | '''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]]. | + | Puts a dynamic text with a certain font on certain coordinates on the screen with a certain [[Alignment modes|alignment]]. |
| == Parameters == | == Parameters == | ||
| Line 15: | Line 15: | ||
| | '''INT''' y || - The Y coordinate of the text. | | '''INT''' y || - The Y coordinate of the text. | ||
| |- | |- | ||
| - | | '''INT''' alignment || - The type of [[alignment]]. | + | | '''INT''' alignment || - The type of [[Alignment modes|alignment]]. |
| |- | |- | ||
| | '''STRING''' text || - The text to be used. | | '''STRING''' text || - The text to be used. | ||
| Line 27: | Line 27: | ||
| | !0 || - The [[TextID]] of the text. | | !0 || - The [[TextID]] of the text. | ||
| |} | |} | ||
| + | |||
| + | == 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. | ||
| + | |||
| + | 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 == | == Example == | ||
Revision as of 02:33, 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 an unknown amount (>1000) of texts to simultaneously exist on the screen. The program will crash 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:
