http://www.love2d.org/w/index.php?title=Tutorial:Using_Input_(%E6%97%A5%E6%9C%AC%E8%AA%9E)&feed=atom&action=history
Tutorial:Using Input (日本語) - Revision history
2024-03-29T15:31:13Z
Revision history for this page on the wiki
MediaWiki 1.31.12
http://www.love2d.org/w/index.php?title=Tutorial:Using_Input_(%E6%97%A5%E6%9C%AC%E8%AA%9E)&diff=17095&oldid=prev
Greenwing at 08:03, 26 August 2016
2016-08-26T08:03:07Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 08:03, 26 August 2016</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l135" >Line 135:</td>
<td colspan="2" class="diff-lineno">Line 135:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Tutorials]]</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Tutorials]]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{#set:LOVE Version=0.6.0}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{#set:LOVE Version=0.6.0}}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>{{#set:Description=<del class="diffchange diffchange-inline">Using Input</del>}}</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>{{#set:Description=<ins class="diffchange diffchange-inline">対人入力機器の使用方法。</ins>}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== そのほかの言語 ==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== そのほかの言語 ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{i18n|Tutorial:Using Input}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{i18n|Tutorial:Using Input}}</div></td></tr>
</table>
Greenwing
http://www.love2d.org/w/index.php?title=Tutorial:Using_Input_(%E6%97%A5%E6%9C%AC%E8%AA%9E)&diff=17093&oldid=prev
Greenwing at 07:56, 26 August 2016
2016-08-26T07:56:43Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 07:56, 26 August 2016</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>LÖVE による入力イベントの捕獲は本当に簡単です。この[[:Category:Tutorials <del class="diffchange diffchange-inline">(日本語)</del>|教本]]ではオブジェクト・メソッドと[[:Category:Callbacks (日本語)|コールバック]]の両方を使用してキーボードおよびマウスのイベントを捕獲する方法を包含しています。大抵は空の LÖVE プログラムから書くことにより教本を開始します:</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>LÖVE による入力イベントの捕獲は本当に簡単です。この[[:Category:Tutorials|教本]]ではオブジェクト・メソッドと[[:Category:Callbacks (日本語)|コールバック]]の両方を使用してキーボードおよびマウスのイベントを捕獲する方法を包含しています。大抵は空の LÖVE プログラムから書くことにより教本を開始します:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><source lang="lua"></div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><source lang="lua"></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>local text</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>local text</div></td></tr>
</table>
Greenwing
http://www.love2d.org/w/index.php?title=Tutorial:Using_Input_(%E6%97%A5%E6%9C%AC%E8%AA%9E)&diff=17092&oldid=prev
Greenwing at 07:56, 26 August 2016
2016-08-26T07:56:25Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 07:56, 26 August 2016</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l133" >Line 133:</td>
<td colspan="2" class="diff-lineno">Line 133:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>これらの数行においてマウス・ポインターが表示されているかどうか確認を行い、次に表示状態を変更します: 表示されている場合は非表示に、表示されていない場合は表示します。全く簡単、ではない?</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>これらの数行においてマウス・ポインターが表示されているかどうか確認を行い、次に表示状態を変更します: 表示されている場合は非表示に、表示されていない場合は表示します。全く簡単、ではない?</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Tutorials <del class="diffchange diffchange-inline">(日本語)</del>]]</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Tutorials]]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{#set:LOVE Version=0.6.0}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{#set:LOVE Version=0.6.0}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{#set:Description=Using Input}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{#set:Description=Using Input}}</div></td></tr>
</table>
Greenwing
http://www.love2d.org/w/index.php?title=Tutorial:Using_Input_(%E6%97%A5%E6%9C%AC%E8%AA%9E)&diff=17091&oldid=prev
Greenwing: Created page with "LÖVE による入力イベントの捕獲は本当に簡単です。この教本ではオブジェクト・メソッドと:Category:Call..."
2016-08-26T07:56:01Z
<p>Created page with "LÖVE による入力イベントの捕獲は本当に簡単です。この<a href="/wiki/Category:Tutorials_(%E6%97%A5%E6%9C%AC%E8%AA%9E)" class="mw-redirect" title="Category:Tutorials (日本語)">教本</a>ではオブジェクト・メソッドと:Category:Call..."</p>
<p><b>New page</b></p><div>LÖVE による入力イベントの捕獲は本当に簡単です。この[[:Category:Tutorials (日本語)|教本]]ではオブジェクト・メソッドと[[:Category:Callbacks (日本語)|コールバック]]の両方を使用してキーボードおよびマウスのイベントを捕獲する方法を包含しています。大抵は空の LÖVE プログラムから書くことにより教本を開始します:<br />
<source lang="lua"><br />
local text<br />
<br />
function love.load()<br />
love.graphics.setNewFont(12)<br />
text = "Nothing yet"<br />
end<br />
<br />
function love.update(dt)<br />
<br />
end<br />
<br />
function love.draw()<br />
love.graphics.print( text, 330, 300 )<br />
end<br />
</source><br />
<br />
== キーボード・イベントの捕獲 ==<br />
利用者がキーを押しているかどうかを検知する最も簡単な方法は <code>[[love.keyboard.isDown (日本語)|love.keyboard.isDown]]</code> メソッドを呼び出すことであり、それは下記の構文になります:<br />
<source lang="lua"><br />
love.keyboard.isDown( key )<br />
</source><br />
引数 key は文字列表現であり指定したキーが現在押されているかどうか確認します。単純な用例は:<br />
<source lang="lua"><br />
if love.keyboard.isDown( " " ) then<br />
text = "The SPACE key is held down!"<br />
end<br />
</source><br />
キーの完全な一覧は[[KeyConstant (日本語)|こちら]]にあります。この確認を行う最良の場所は <code>[[love.update (日本語)|love.update]]</code> [[:Category:Callbacks (日本語)|コールバック]]の内側です: 利用者からの入力を取得および画面へなにかを描画する前に変数の更新を行うことができます。従って、修正後の <code>[[love.update (日本語)|love.update]]</code> コールバックはこのような内容になります:<br />
<source lang="lua"><br />
function love.update(dt)<br />
if love.keyboard.isDown( " " ) then<br />
text = "The SPACE key is held down!"<br />
end<br />
end<br />
</source><br />
どのキーまたは現在押されているキーを検知する必要がある間ならば、これは申し分なく非常に良いものであり、特定のキーが押された、および・または、離されたときに様々な動作を指定する必要がある場合があります。このための簡潔な方法は <code>[[love.keypressed (日本語)|love.keypressed]]</code> および <code>[[love.keyreleased (日本語)|love.keyreleased]]</code> キーボード専用コールバックを使用することです。それは既に存じている <code>[[love.update (日本語)|love.update]]</code> または <code>[[love.draw (日本語)|love.draw]]</code> コールバックと同様の方法で動作を行い、イベントが発生するごとに対象のコードを実行します。例えば:<br />
<source lang="lua"><br />
function love.keypressed( key )<br />
if key == "return" then<br />
text = "RETURN has been pressed!"<br />
end<br />
end<br />
<br />
function love.keyreleased( key )<br />
if key == "return" then<br />
text = "RETURN has been released!"<br />
end<br />
end<br />
</source><br />
確認できる通り、これら二種類のコールバックは指定されたキーが押された、離されたか双方であるかどうかを確認するために使用することができる変数 key を提供します。この時点で、ソース・ファイルはこのように記述されているべきです:<br />
<source lang="lua"><br />
function love.load()<br />
love.graphics.setFont(12)<br />
text = "Nothing yet"<br />
end<br />
<br />
function love.update(dt)<br />
if love.keyboard.isDown( " " ) then<br />
text = "The SPACE key is held down!"<br />
end<br />
end<br />
<br />
function love.draw()<br />
love.graphics.print( text, 330, 300 )<br />
end<br />
<br />
function love.keypressed( key )<br />
if key == "return" then<br />
text = "RETURN is being pressed!"<br />
end<br />
end<br />
<br />
function love.keyreleased( key )<br />
if key == "return" then<br />
text = "RETURN has been released!"<br />
end<br />
end<br />
</source><br />
<br />
== マウス・イベントの捕獲 ==<br />
さて、キーボードにより利用者と対話する方法を既に存じています。しかし、机上に鎮座する小型齧歯類に関してはどうでしょうか? さて、マウスの入力動作は同様の方法です: <code>[[love.mouse.isDown (日本語)|love.mouse.isDown]]</code> メソッドおよび <code>[[love.mousepressed (日本語)|love.mousepressed]]</code> および <code>[[love.mousereleased (日本語)|love.mousereleased]]</code> コールバックがあります。さあ、 <code>[[love.update (日本語)|love.update]]</code> コールバックへ数行書き加えましょう:<br />
<source lang="lua"><br />
if love.mouse.isDown("r") then<br />
text = "Right mouse button has been pressed"<br />
end<br />
</source><br />
確認できる通り、 <code>[[love.keyboard.isDown (日本語)|love.keyboard.isDown]]</code> と非常に似ており、さらに、[[MouseConstant (日本語)|こちら]]でマウスに関連する引数の全一覧を参照することができます。このメソッドでマウス・ホイールが上方向または下方向へ回転されたかどうかを確認することができます。ゲームのウィンドウ内にあるマウス・ポインターの現在位置を検知するための二つの手軽なメソッドがあります: <code>[[love.mouse.getX (日本語)|love.mouse.getX]]</code> および <code>[[love.mouse.getY (日本語)|love.mouse.getY]]</code> です。それぞれマウス・ポインターの現在座標を返します。さあ、 <code>[[love.update (日本語)|love.update]]</code> コールバックの最初へ、これらの行を追加した用例を見てみましょう:<br />
<source lang="lua"><br />
mouse_x = love.mouse.getX()<br />
mouse_y = love.mouse.getY()<br />
</source><br />
また、この行は <code>[[love.update (日本語)|love.update]]</code> コールバックへ追加します:<br />
<source lang="lua"><br />
love.graphics.print( "Mouse X: ".. mouse_x .. " Mouse Y: " .. mouse_y, 10, 20 )<br />
</source><br />
<br />
<code>[[love.mousepressed (日本語)|love.mousepressed]]</code> および <code>[[love.mousereleased (日本語)|love.mousereleased]]</code> コールバックはキーボードに非常に似たメソッドであり相当品として動作します:<br />
<source lang="lua"><br />
function love.mousepressed(x, y, button)<br />
if button == 'l' then<br />
text = "Left mouse button has been pressed"<br />
end<br />
end<br />
<br />
function love.mousereleased(x, y, button)<br />
if button == 'l' then<br />
text = "Left mouse button has been released"<br />
end<br />
end<br />
</source><br />
このコールバックにおける冷静な特徴はボタンが押されたことを検知できるだけではなく利用者がボタンが押した時にマウスポインタの位置も検知できることです。これはマウスと対話可能なボタンまたはその他のオブジェクトといったいくつかの基本的なユーザ・インタフェース要素を構築する必要がある場合は実に有用です。簡単な用例:<br />
<source lang="lua"><br />
function love.mousepressed(x, y, button)<br />
if button == 'l' then<br />
text = "Left mouse button has been pressed at X:"..x.." Y: "..y<br />
end<br />
end<br />
</source><br />
最後に、さらに二つの有用なマウス関連のメソッドがあります: <code>[[love.mouse.setVisible (日本語)|love.mouse.setVisible]]</code> および <code>[[love.mouse.isVisible (日本語)|love.mouse.isVisible]]</code> です。一つめはマウス・ポインターの表示または非表示を行い、二つめはマウス・ポインターが表示されているかどうかを検出します。さあ、 <code>[[love.keypressed (日本語)|love.keypressed]]</code> コールバックへさらにコードを追加しましょう:<br />
<source lang="lua"><br />
if key == 'h' then<br />
if love.mouse.isVisible() then<br />
love.mouse.setVisible(false)<br />
else<br />
love.mouse.setVisible(true)<br />
end<br />
-- または:<br />
-- love.mouse.setVisible(love.mouse.isVisible() ではありません)<br />
end<br />
</source><br />
これらの数行においてマウス・ポインターが表示されているかどうか確認を行い、次に表示状態を変更します: 表示されている場合は非表示に、表示されていない場合は表示します。全く簡単、ではない?<br />
<br />
[[Category:Tutorials (日本語)]]<br />
{{#set:LOVE Version=0.6.0}}<br />
{{#set:Description=Using Input}}<br />
<br />
== そのほかの言語 ==<br />
{{i18n|Tutorial:Using Input}}</div>
Greenwing