Chapter4. 拡張関数


4.4 入力インタフェース関連

関数名
I@KEYGET2
機能
キーボードから情報をバッファリングしながら取得する。
書式
I@KEYGET2( )
解説
I@KEYGET 関数は、I@KEYGET 関数を実行した瞬間のキーボードの情報を取得する為、I@KEYGET 関数を発行していない間に押されたキーボードの情報は取得出来ない。
 これに対し、I@KEYGET2 関数はキーボードを押した時と離した時の情報を漏らす事無く取得する事が出来る。
 LGP では最大 10個の情報を内部バッファにバッファリング(バッファに保存する)しており、I@KEYGET2 関数を実行毎に古いものから1個の情報を取得する。
 もし、10個以上の情報が内部バッファに溜まった場合は、新しい情報を廃棄する。
 I@KEYGET2 関数で取得した 1個分の情報は I@KEYBTN2 関数で詳細を知る事が出来る。
 なお、バッファリングは I@KEYGET2 関数を最初に実行した時点から始まる。
用例
1 秒おきにキーボードから情報を取得する。
CH=G@SETUP(640,480,16,1)
LOOP
  G@CHRCLEAR(CH)
  I@KEYGET2()
  FOR I=0 TO 2
    G@PRINT(CH,0,I*16,STR(I@KEYBTN2(I)))
  NEXT
  G@FLIP()
  S@SLEEP(1000) //1秒停止
ENDLOOP