タッチデバイス
生データに直接アクセス、がこのモードになります。
生データだけあって、触れている指の数(ID)、座標、ぐらいしか取得出来ません。
反応は最も早く、ログを見て貰うとわかるとおり、マウスのマウスダウンよりも10ms以上早くタッチイベントが飛んでくるので、ゲーム向きな素早い入力を得ることが出来ます。
ただし、プレスアンドホールドを考慮するのであれば、このモードの恩恵(素早い入力)は全く受けられないので注意してください。
コードサンプルはこちらの方が簡潔にまとめられております。
http://wlog.flatlib.jp/item/1320
■touch.singletouch ・pressandhold enable touch.down...0(177,126) 3875ms //LeftClickの前にsigletouchが発生する touch.move...0(177,126) 2ms touch.move...0(177,126) 5ms 〜〜〜 touch.move...0(177,126) 9ms touch.move...0(177,126) 9ms touch.move...0(177,126) 18ms touch.up...0(177,126) 5ms mouse(FromTouch).move...0(177,126) 5ms //指を離したタイミングでmouseイベントが発生 mouse(FromTouch).down...0(177,126)Left 4ms mouse(FromTouch).up...0(177,126)Left 4ms mouse(FromMouse).move...0(177,126) 4ms ・pressandhold disable touch.down...0(191,152) 4397ms mouse(FromTouch).move...0(191,152) 3ms mouse(FromTouch).down...0(191,152)Left 3ms //mousedownがちゃんと発生 touch.move...0(191,152) 3ms touch.move...0(191,152) 7ms 〜〜〜 touch.move...0(191,152) 9ms touch.move...0(191,152) 19ms touch.up...0(191,152) 3ms mouse(FromTouch).up...0(191,152)Left 5ms mouse(FromMouse).move...0(191,152) 4ms ■touch.pressandhold ・pressandhold enable touch.down...0(177,189) 7346ms //RightClickの前にsigletouchが発生する touch.move...0(177,189) 10ms touch.move...0(177,189) 8ms 〜〜〜 touch.move...0(177,189) 9ms touch.move...0(177,189) 8ms touch.move...0(177,189) 19ms touch.up...0(177,189) 6ms mouse(FromTouch).move...0(177,189) 6ms //指を離したタイミングでmouseイベントが発生 mouse(FromTouch).down...0(177,189)Right 5ms mouse(FromTouch).up...0(177,189)Right 5ms ・pressandhold disable touch.down...0(227,193) 5982ms touch.move...0(227,193) 9ms mouse(FromTouch).move...0(227,193) 5ms mouse(FromTouch).down...0(227,193)Left 5ms touch.move...0(227,193) 5ms touch.move...0(227,193) 5ms 〜〜〜 touch.move...0(227,193) 8ms touch.move...0(227,193) 20ms touch.up...0(227,193) 7ms mouse(FromTouch).up...0(227,193)Left 5ms mouse(FromMouse).move...0(227,193) 5ms ■touch.pan ・pressandhold enable touch.down...0(141,154) 11386ms //pan開始前にtouch.downが発生 touch.move...0(141,154) 14ms touch.move...0(141,154) 7ms 〜〜〜 mouse(FromTouch).move...0(141,154) 7ms //pan開始と同時にmouse.moveが追加発生 mouse(FromTouch).down...0(141,154)Left 6ms mouse(FromTouch).move...0(155,172)Left 5ms touch.move...0(160,182) 5ms mouse(FromTouch).move...0(160,182)Left 5ms touch.move...0(163,188) 5ms 〜〜〜 mouse(FromTouch).move...0(181,275)Left 6ms touch.move...0(181,276) 5ms mouse(FromTouch).move...0(181,276)Left 6ms touch.move...0(181,276) 5ms touch.move...0(181,276) 12ms touch.up...0(181,276) 6ms //touch.up/mouse.upの順序は機種依存 mouse(FromTouch).up...0(181,276)Left 5ms mouse(FromMouse).move...0(181,276) 6ms ・pressandhold disable touch.down...0(170,146) 5781ms touch.move...0(170,146) 16ms mouse(FromTouch).move...0(170,146) 7ms mouse(FromTouch).down...0(170,146)Left 5ms //mouse.downはtouch.downより遅延がある touch.move...0(170,146) 5ms touch.move...0(170,146) 5ms 〜〜〜 touch.move...0(184,157) 9ms touch.move...0(186,159) 9ms 〜〜〜 mouse(FromTouch).move...0(186,159)Left 5ms //pan開始と同時にmouseイベントが追加される touch.move...0(188,163) 5ms mouse(FromTouch).move...0(188,163)Left 6ms touch.move...0(190,166) 5ms 〜〜〜 mouse(FromTouch).move...0(162,299)Left 5ms touch.move...0(154,299) 6ms mouse(FromTouch).move...0(154,299)Left 5ms touch.move...0(154,299) 10ms touch.up...0(154,299) 6ms mouse(FromTouch).up...0(154,299)Left 6ms mouse(FromMouse).move...0(154,299) 6ms
プレスアンドホールド対応時の注意点
生データだけあって、マウスイベントより早い段階でタッチ操作イベントが飛んできます。
コレを使えばより素早い反応が可能ですが、プレスアンドホールドを考慮する場合は、このイベントが使用出来ません。
ログを見て貰うとわかるのですが、
・pressandhold enable touch.down...0(177,189) 7346ms //RightClickの前にsigletouchが発生する touch.move...0(177,189) 10ms touch.move...0(177,189) 8ms 〜〜〜 touch.move...0(177,189) 9ms touch.move...0(177,189) 8ms touch.move...0(177,189) 19ms touch.up...0(177,189) 6ms mouse(FromTouch).move...0(177,189) 6ms //指を離したタイミングでmouseイベントが発生 mouse(FromTouch).down...0(177,189)Right 5ms mouse(FromTouch).up...0(177,189)Right 5ms
[タッチイベント(左)][マウスイベント(右)]と完全に分かれてくるため、左クリックして右クリックしたかのような挙動を示します。
対応を考えるなら、タッチイベントは捨ててしまうのが賢明なようです。