キー入力を1行で取得する関数(履歴ID:642)
最終投稿者: cfm_
更新:2015/12/09 19:22:47
最初にinput_start()、最後にinput_end()と書けば、
input_get()の1行を使うだけでキー入力が取得できます。
一番下にテストスクリプトがあります。
テストスクリプト
input_get()の1行を使うだけでキー入力が取得できます。
一番下にテストスクリプトがあります。
#入力開始 def input_start() startInput() key_char=splitString("A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,RIGHT,LEFT,UP,DOWN,SPACE,SHIFT,ENTER,ESC,0,1,2,3,4,5,6,7,8,9", ",") i=0 while i<44 setVariable("input_" + key_char[i],false) i=i+1 end end #入力を取得 def input_get(key) if hasInput() then key_char=splitString("A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,RIGHT,LEFT,UP,DOWN,SPACE,SHIFT,ENTER,ESC,0,1,2,3,4,5,6,7,8,9", ",");end while hasInput() takeInput() i=0 while i<44 keychar2=key_char[i] setVariable("input_" +keychar2,getVariable("input_" + keychar2) || isKeyDown(keychar2)) if isKeyUp(key_char[i]) then setVariable("input_" + keychar2,false);end i=i+1 end end return getVariable("input_" + key) end #入力終了 def input_end(key) endInput() end
テストスクリプト
input_start() speak("START") while !input_get("ENTER") end speak("OK") input_end() #実行結果:最初に「START」と表示され,エンターキーを押すと「OK」と表示される。