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

Tutorial:Textinput, Textinput

From FenixWiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 22:43, 6 August 2007 (edit)
Sandman (Talk | contribs)
m
← Previous diff
Current revision (00:16, 9 August 2007) (edit) (undo)
Sandman (Talk | contribs)
(Textinput moved to Tutorial:Textinput: tutorial namespace)
 
Line 1: Line 1:
-[[Category:tutorials]]+#REDIRECT [[Tutorial:Textinput]]
- +
-This isn't much of a [[tutorial]], rather some example code, but anyway. This code shows that text input in [[Fenix]] is not hard at all: with just a little piece of code, much can be achieved.+
- +
-Note that this is code for Fenix versions [[0.93]] and up. Should the code work for other versions as well, be so kind to note this here.+
- +
-== Example code ==+
-<pre>+
-Program texts;+
- +
-Declare Function String textinput();+
-End+
- +
-Begin+
- +
- set_fps(60,0);+
- +
- say("You typed: '" + textinput() + "'");+
- +
- Repeat+
- frame;+
- Until(key(_esc));+
- +
-End+
- +
-Function String textinput()+
-Private+
- String str;+
- int t;+
- int t2;+
- byte last_ascii;+
- int txtid;+
-Begin+
- +
- // show what you type in top left corner+
- txtid = write_string(0,0,0,0,&str);+
- +
- // clean the string+
- str = "";+
- +
- // get input from the user+
- // pressing enter will end the loop+
- Loop+
- if(ascii!=0&&last_ascii==ascii) // check if a key is pressed and if the same key+
- // was pressed last frame+
- if(t==0||t>fps/4) // check if the key was just pressed or it has been pressed+
- // for 0.25 seconds+
- if(t==0||t2>fps/30) // check if the key was just pressed or it has been pressed+
- // for the last 0.03 seconds+
- t2=0;+
- switch(ascii) // handle input+
- case 8: //backspace+
- str = substr(str,0,len(str)-1);+
- end+
- case 13: //enter+
- break;+
- end+
- default: //addkey+
- str+=chr(ascii);+
- end+
- end+
- end+
- t2++;+
- end+
- t++;+
- else+
- t = t2 = 0; // reset+
- end+
- last_ascii = ascii;+
- frame;+
- End+
- +
- // delete the text used+
- delete_text(txtid);+
- +
- // return the typed string+
- return str;+
- +
-End+
-</pre>+
-Used in example: [[set_fps]](), [[say]](), [[write_string]](), [[substr]](), [[chr]](), [[declare]], [[function]], [[switch]], [[ascii]], [[fps]]+
- +
-You'll find a nice ASCII table [http://www.asciitable.com here].+

Current revision

  1. REDIRECT Tutorial:Textinput
Personal tools