- This wiki is out of date, use the continuation of this wiki instead
Text
From FenixWiki
(Difference between revisions)
| Revision as of 09:02, 7 August 2007 (edit) Sandman (Talk | contribs) ← Previous diff |
Current revision (23:43, 27 July 2008) (edit) (undo) Sandman (Talk | contribs) m |
||
| (3 intermediate revisions not shown.) | |||
| Line 1: | Line 1: | ||
| + | [[category:general]] | ||
| + | [[category:texts]] | ||
| + | |||
| == Definition == | == Definition == | ||
| - | A text is a text written on screen with [[texts|texts functions]], like [[write]]() or [[write_int]](). A text is addressed using the associated [[TextID]]. | + | A text is a text written on screen with [[Functioncategory:texts|texts functions]], like [[write]]() or [[write_int]](). A text is addressed using the associated [[TextID]]. |
| There are two kinds of texts: | There are two kinds of texts: | ||
| * Static text is any text written with [[write]](); it is static, because the content of the text cannot be changed after writing, but the text can be moved and deleted. | * Static text is any text written with [[write]](); it is static, because the content of the text cannot be changed after writing, but the text can be moved and deleted. | ||
| * Dynamic text is any text written with write_xxx() functions; it is dynamic because the content of the text always reflects the current value of the variable specified. Of course moving and deleting is also possible. | * Dynamic text is any text written with write_xxx() functions; it is dynamic because the content of the text always reflects the current value of the variable specified. Of course moving and deleting is also possible. | ||
| + | |||
| + | == Writing texts == | ||
| + | There are multiple ways to write texts: the write() function, write_xxx() functions and the write_in_map() function. With the first two, some the [[global variable]] [[text_z]] is important and with all three of them, the following are important: | ||
| + | * The functions [[set_text_color]]() and [[get_text_color]]() | ||
| + | * The [[font]] | ||
| + | * The [[alignment]] | ||
| + | * The global variable [[text_flags]] | ||
| + | |||
| + | Also the function [[move_text]]() can be handy, as it moves a previously written text to a different location. | ||
| == Example == | == Example == | ||
| <pre> | <pre> | ||
| - | Program | + | Program texts; |
| + | Const | ||
| + | maxtexts = 10; | ||
| + | Private | ||
| + | int textid[maxtexts-1]; | ||
| + | string str; | ||
| + | float flt; | ||
| Begin | Begin | ||
| - | | + | // Set FPS |
| - | | + | set_fps(60,0); |
| + | // Init text settings: | ||
| + | text_z = 0; | ||
| + | text_flags = 0; | ||
| + | set_text_color(rgb(255,255,255)); | ||
| + | |||
| + | // 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); | ||
| + | |||
| + | // Show z workings | ||
| + | set_text_color(rgb(50,150,150)); | ||
| + | textid[4] = write(0,20,20,0,"Underlying text"); | ||
| + | text_z = -1; | ||
| + | set_text_color(rgb(255,255,255)); | ||
| + | textid[5] = write(0,22,22,0,"On top text"); | ||
| + | |||
| + | // Update the texts until ESC is pressed | ||
| Repeat | 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; | frame; | ||
| - | Until(key(_esc)) | + | Until(key(_esc)); |
| + | |||
| + | // Delete the texts (this section would be good for OnExit) | ||
| + | for(x=0; x<maxtexts; x++) | ||
| + | if(textid[x]!=0) | ||
| + | delete_text(textid[x]); | ||
| + | end | ||
| + | end | ||
| End | End | ||
| </pre> | </pre> | ||
| - | Used in example: [[write]](), [[write_int]](), [[ | + | Used in example: [[set_fps]](), [[set_text_color]](), [[write]](), [[write_int]](), [[write_string]](), [[write_float]](), [[key]](), [[delete_text]](), [[text_z]], [[text_flags]], [[fps]] |
| - | + | ||
| - | + | ||
| - | + | ||
Current revision
[edit] Definition
A text is a text written on screen with texts functions, like write() or write_int(). A text is addressed using the associated TextID.
There are two kinds of texts:
- Static text is any text written with write(); it is static, because the content of the text cannot be changed after writing, but the text can be moved and deleted.
- Dynamic text is any text written with write_xxx() functions; it is dynamic because the content of the text always reflects the current value of the variable specified. Of course moving and deleting is also possible.
[edit] Writing texts
There are multiple ways to write texts: the write() function, write_xxx() functions and the write_in_map() function. With the first two, some the global variable text_z is important and with all three of them, the following are important:
- The functions set_text_color() and get_text_color()
- The font
- The alignment
- The global variable text_flags
Also the function move_text() can be handy, as it moves a previously written text to a different location.
[edit] Example
Program texts;
Const
maxtexts = 10;
Private
int textid[maxtexts-1];
string str;
float flt;
Begin
// Set FPS
set_fps(60,0);
// Init text settings:
text_z = 0;
text_flags = 0;
set_text_color(rgb(255,255,255));
// 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);
// Show z workings
set_text_color(rgb(50,150,150));
textid[4] = write(0,20,20,0,"Underlying text");
text_z = -1;
set_text_color(rgb(255,255,255));
textid[5] = write(0,22,22,0,"On top text");
// 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 (this section would be good for OnExit)
for(x=0; x<maxtexts; x++)
if(textid[x]!=0)
delete_text(textid[x]);
end
end
End
Used in example: set_fps(), set_text_color(), write(), write_int(), write_string(), write_float(), key(), delete_text(), text_z, text_flags, fps
