キー入力を1行で取得する関数(履歴ID:642)
最終投稿者:
cfm_
更新:2015/12/09 19:22:47
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」と表示される。