コンピュータを楽しもう!!

今、自分が面白くていろいろやってみたことを書き綴りたいと思います。連絡先はtarosa.yでgmail.comです。

touch( [タッチ条件] ) 戻り値: X座標,Y座標, タッチ状態

画面タッチ座標と状態を取得します。ただし、取得座標はcanvas.setMainBmp()に設定された範囲の座標となります。未設定の場合は画面サイズと同じ値が取得されます。
touch命令は引数により、機能が変ります。

  • touch() 即座にX,Y座標とタッチの状態を返します。
  • touch(0) 即座にX,Y座標とタッチの状態を返します。
  • touch(1) タッチされるまで待機し、タッチしていればX,Y座標とタッチの状態を返します。
  • touch(2) 指が離れるまで待機し、離れていれば、X,Y座標とタッチの状態を返します。
  • touch(3) 指が離れている状態からタッチ、さらに指が離れるまで待機します。指が離れれば、X,Y座標とタッチの状態を返します。

また、touch命令は、戻り値を3つ持ちます。最終タッチX,Y座標と、画面タッチ状態が返ります。
下記にタッチ状態の値と意味を示します。

  • 0: タッチしている
  • 1: タッチしていない
  • 2: タッチしてスライドしている
  • 3: キャンセルされた
  • 4: 範囲外にタッチしている

0と2の違いに注意してください。どちらもタッチしていますが、タッチした後指が少しでも動いた場合は、2が返ります。
使用例

    for i=1, 1000 do
      x, y, b = touch()
      if( b~=1 )then
        if( tmenu[a]=="lua" )then tmenu[a] = "luarida.lua" end
        --エディタ起動
        system.expCall( "info.tdoc.sheditor.EditMain", "file://"..LuaridaPath.."/"..tmenu[a], "text/plain" )
        break
      end
    end