スクリプト/キー・マウス入力
最終投稿者: akasata
更新:2011/04/21 20:55:54
Rmakeでは、マウス入力やキー入力を受け取ることができます。
このページでは、Rmakeにおけるキー・マウス入力を受け取るコードの
例を紹介します。
このサンプルでは以下のことを行うことができます。
コード例
startInput()で入力モードを開始します。
endInput()で入力モードを終了します。
入力を受け取るためにはループを用意し、
入力内容を1つずつ処理します。
loop変数をfalseにするとループを抜けます。
hasInput()で処理すべき入力があるかどうかを調べます。
takeInput()で処理すべき入力を処理対象とします。
isMouseDown()で処理対象がマウスのボタンを押したものかどうか判断します。
ここではgetMousePosition()でボタンが押されたときのマウスの位置を取得し、
テキスト表示しています。
isMouseMove()で処理対象がマウスのボタンを動かしたものかどうか判断します。
ここではgetMousePosition()でマウスが動いたときのマウスの位置を取得し、
テキスト表示しています。
isMouseUp()で処理対象がマウスのボタンを話したときのものかどうか判断します。
ここではgetMousePosition()でボタンを離したときのマウスの位置を取得し、
テキスト表示しています。
isKeyDown("A")でキーAが押されたかどうかを判断しています。
ここではメッセージウィンドウに"press A"と表示します。
isKeyDownに渡す引数は、コード入力支援から入力することをお勧めします。
isKeyUp("A")でキーAが離されたかどうかを判断しています。
ここではメッセージウィンドウに"up A""と表示します。
isKeyUpに渡す引数は、コード入力支援から入力することをお勧めします。
isKeyDown("E")でキーEが押されたかどうかを判断しています。
ここでは、loop変数にfalseを代入して処理を終了しています。
waitTime(30)で入力がなくなった場合はスクリプトの実行を30ミリ秒止めて
余分な処理をしないようにします。
ツイート
このページでは、Rmakeにおけるキー・マウス入力を受け取るコードの
例を紹介します。
このサンプルでは以下のことを行うことができます。
- マウスを動かすと座標を表示します
- マウスをクリックすると、ボタンを押下したとき、離したときの座標を表示します
- Aキーを押すと、メッセージを表示します
- Eキーを押すと終了します
コード例
#テキスト表示領域を用意します。 textID = createText(10, 20, 512, 64) textID2 = createText(10, 20 + 64, 512, 64) setText(textID2, "press e and end") #入力の取得を始めます startInput() #ループし続けるように変数を設定します。 loop = true #loop変数がtrueの間はループし続けます。 while loop #入力が入っているかどうか調べます。 while hasInput() #内部にたまっている入力を処理対象とします。 takeInput() if isMouseDown() #マウスのボタンが押されている場合 #マウスの位置を取得します。 pos = getMousePosition() #位置を表示します。 setText(textID, "clicked x = ", pos[0], ", y = ", pos[1]) elsif isMouseMove() #マウスが動いた場合 #マウスの位置を取得します。 pos = getMousePosition() #位置を表示します。 setText(textID, "x = ", pos[0], ", y = ", pos[1]); elsif isMouseUp() #マウスのボタンが離された場合 #マウスの位置を取得します。 pos = getMousePosition() #位置を表示します。 setText(textID, "uped x = ", pos[0], ", y = ", pos[1]) elsif isKeyDown("A") #キーAが押された場合 #メッセージを表示します。 speak("press A") elsif isKeyUp("A") #キーAが離された場合 #メッセージを表示します。 speak("up A") elsif isKeyDown("E") #キーEが押された場合 #ループを終了します。 loop = false end end #入力がないときに無駄に処理をしないように30ミリ秒waitを入れます。 waitTime(30) end #入力の取得を終了します。 endInput() #テキスト表示領域を全部消します。 deleteTextAll()
startInput()で入力モードを開始します。
endInput()で入力モードを終了します。
入力を受け取るためにはループを用意し、
入力内容を1つずつ処理します。
loop変数をfalseにするとループを抜けます。
hasInput()で処理すべき入力があるかどうかを調べます。
takeInput()で処理すべき入力を処理対象とします。
isMouseDown()で処理対象がマウスのボタンを押したものかどうか判断します。
ここではgetMousePosition()でボタンが押されたときのマウスの位置を取得し、
テキスト表示しています。
isMouseMove()で処理対象がマウスのボタンを動かしたものかどうか判断します。
ここではgetMousePosition()でマウスが動いたときのマウスの位置を取得し、
テキスト表示しています。
isMouseUp()で処理対象がマウスのボタンを話したときのものかどうか判断します。
ここではgetMousePosition()でボタンを離したときのマウスの位置を取得し、
テキスト表示しています。
isKeyDown("A")でキーAが押されたかどうかを判断しています。
ここではメッセージウィンドウに"press A"と表示します。
isKeyDownに渡す引数は、コード入力支援から入力することをお勧めします。
isKeyUp("A")でキーAが離されたかどうかを判断しています。
ここではメッセージウィンドウに"up A""と表示します。
isKeyUpに渡す引数は、コード入力支援から入力することをお勧めします。
isKeyDown("E")でキーEが押されたかどうかを判断しています。
ここでは、loop変数にfalseを代入して処理を終了しています。
waitTime(30)で入力がなくなった場合はスクリプトの実行を30ミリ秒止めて
余分な処理をしないようにします。
コメントする
コメントするには、ログインする必要があります。
コメント一覧
退会したユーザー(投稿日:2011/04/21 20:55,
履歴)
tdakeikakuサンいつもいつもこんなBAKAに付き合ってくれてありがとうございますww
退会したユーザー(投稿日:2011/04/21 20:55,
履歴)
理解不能w
でもなんとなくワカルw
でもなんとなくワカルw
退会したユーザー(投稿日:2011/04/20 18:47,
履歴)
クリックの部分を消すとおかしくなるんですか?
キー入力だけの物を作りたいので・・・。
キー入力だけの物を作りたいので・・・。
退会したユーザー(投稿日:2011/04/20 18:45,
履歴)
よくわかりません。。。
elsif isKeyDown("A") #キーAが押された場合
#メッセージを表示します。
speak("press A")
これはキーボードのAキーを押すとメッセージが出るってことですか?
そうですよね?
elsif isKeyDown("A") #キーAが押された場合
#メッセージを表示します。
speak("press A")
これはキーボードのAキーを押すとメッセージが出るってことですか?
そうですよね?