問題タブ [touch-event]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - touchEnd と onMouseUp の両方が iPad から発火する
ラップトップと iPad で使用するページを作成しています。そのため、コードの大部分 (ドラッグ アンド ドロップが多い) は、マウス イベントとタッチ イベント間で重複しています。しかし今、私は本当に奇妙な動作を見つけています: ラップトップで使用するとすべて問題ありませんが、iPad で使用すると、定期的に touchEnd が mouseUp を起動します...そして、ページの全体的な目標は一連のイベントであるため、これにより、すべてが軌道から外れます (ステップ 'n' は達成されましたが、mouseUp 関数が再テストされ、既に完了しているため失敗します)。
それを理解するのにかなりの時間がかかりました (私はそれが可能だとは思わなかったので) が、異なるバージョンに固有のログ メッセージを配置することで、iPad のログに「マウス ミス」メッセージが表示されることがわかります。
このクロスイベントの動作は私にとって論理的ではないため、デバッグを続行する方法がわからないため、誰かができるアドバイスをいただければ幸いです。以下は主要なコードで、その後に IPAD からのサンプル ログが続きます。再度、感謝します。
ログ:
jquery - 特定のタッチイベントによって複数のイベントが発生しますが、目的のイベントに制限するにはどうすればよいですか?
したがって、タップまたはタップホールドすると期待どおりに機能しますが、スワイプすると2つのイベントが発生するはずです。スワイプとスワイプ方向ですが、タップイベントも発生します。スワイプまたはスワイプ方向が発生した場合にタップイベントを削除する方法はありますか?
実例:
HTML:
JS:
関連する質問:スワイプイベントはiPodtouchのタップイベントをトリガーします
更新: -http: //jsfiddle.net/hJtAQ/31/(Jaspersメソッドを使用)
android - 入力のGameLoopチェック(Android / GlSurfaceView)
スレッドに基本的なゲームループがある場合、次のようになります。
実際に入力をチェックする方法(タッチスクリーンなど)を考えていました。ビュークラスでonTouchEvent()を使用できることはわかっていますが、ゲームループから確認したいと思います。これはどのように行われますか?
ps:GlSurfaceViewでAndroidを使用しています。
android - Androidでホールドして複数の画像に触れる
私はこのmain.xml
ファイルを持っています:
私が達成しようとしていることは次のとおりです。
- ユーザーがimg1を長押しすると、画像が押された画像に変わります(つまり、z01.pngからz01_pressed.pngに変更されます)
- たとえば、ユーザーが押したままimg1からimg2に移動すると、img2が押され(画像がz02.pngからz02_pressed.pngに変更され)、img1がその状態(z01.pngに)に戻ります。
これを達成するために、私はこれをonCreate
メソッドで書きました:
ただし、これは機能しません。何か問題がありますか?
android - Android: ドラッグ用に onTouchEvent を拡張する ImageView
ユーザーが 3 つのイメージ ビュー (カード) の 1 つで TAP を実行してカードをプレイする単純なカード ゲームを作成しましたレイアウトまたは単に画面の別の部分)。
http://blahti.wordpress.com/2011/01/17/moving-views-part-2/に示されている技術を使用しようとしました が、AbsoluteLayout を使用しているため、現在のレイアウトに多くの制限が生じます。アプリが実行されているデバイスの画面解像度に応じて調整が必要です。可能であれば、RelativeLayoutを使用し続けることを避けたいと思います。たぶん、開始点は onTouch サポートを追加して ImageView を拡張することですが、希望する効果を再現できませんでした (ドラッグ) アイデア、提案、またはサンプル コードはありますか? ありがとう!
参考までに、これはレイアウトのドラフトです。下の 3 枚のカードはドラッグで移動する必要があります。
android - Android マルチタッチで間違ったポインターや XY 値が取得される
マルチタッチ イベントから X 値と Y 値を取得する際に問題があります。以下は、POINTER_DOWN および POINTER_UP イベントが発生したときに値を取得する方法を示すコードですが、POINTER_UP イベントで X 値と Y 値が混同/重複しているようです。
これにより、通常、次の lolcat が発生します。
ここでは、ID 1 の XY 位置が間違っており、代わりに ID 2 の値が表示されていることがわかります。
ACTION_CANCEL イベントは呼び出されないことに注意してください。MASKS/ANDing の使用に何か問題があると思います。どんな助けでも大歓迎です!
android - Rect 変換で描画されたビットマップのタッチを検出する
単純な (x,y) 座標で描画されたビットマップの場合、
ビットマップがタッチされたかどうかを検出できます。
で画面にビットマップを描画しています
「この関数はビットマップに関連付けられた密度を無視するため、画面密度を取り入れようとして います。...そのため、適切な倍率が適用されている必要があります。」
翻訳されたビットマップへのタッチを検出できませんでした。を使用して同様の翻訳を行う必要がありますが、道mScale
に迷っています。
オリジナルでsrc と dest を定義するより良い方法はありcanvas.drawBitmap(bitmap, src, dest, null);
ますか?
これが行われた例を知っている人はいますか?そのような例を見つけるための適切な検索用語が見つからないようです。
javascript - iPad - div テキストによってブロックされた touchStart() イベント
touchStart
イベントをトリガーする div があります。
指が div 内のテキスト ボタンに着地すると、イベントはトリガーされず、div イベントの表面の他の場所がトリガーされます。テキストに触れたときにトリガーするにはどうすればよいですか?
android - タイマーとタッチイベント(移動)処理を備えたAndroidゲームのアプローチ
ゲームループとアクティブレンダリング(SurfaceViewとSurfaceHolder.Callbackを使用)を使用してゲームを実行しています。
それを時限イベントやタッチイベント管理と一緒に機能させる方法を考えています。時限イベントは、xxミリ秒ごとに何かが発生し、yyミリ秒ごとに何かが発生するようなものです。タッチ管理は、下、上、移動時にゲームと画面を更新することです。
何度か試してみましたが、どういうわけかぎこちなく、ゲームのパフォーマンスがあまり良くありません。
一方では、古典的なゲームループ(別のスレッド)があります:更新、レンダリング、描画、スリープの実行中
今、私はこれをタイマーループで機能させる方法をよく知りませんでした。私はハンドラーアプローチを使用しました-ハンドラーを拡張するクラスを作成し、handleMessageで実行する必要があることを実行してから、sendMessageDelayedを使用して自分自身を呼び出します。
ゲームの状態を更新するだけです。結果の変更のレンダリングは、gameLoopで行われます。
このアプローチでは、タイマーの更新を妨げずに、ゲームループの更新を同期する必要があります。
そして-これに加えて、私はタッチイベントを処理する必要があります-下、上、そして移動!ここでの私のアプローチは、タイマーの場合と同様に、ゲームの状態を更新し、ループに任せて正しく処理および表示することでした。
私が完全に間違った道を進んでいるのかどうかはわかりませんが、Androdに向かって、「うまくいく」と思ったようにそれを作りました。
たとえば、別のスレッドでゲームループを作成する必要があるかどうかはわかりません。あるフレームレートでのタッチハンドリング(移動)の結果を表示することだと思いました。
反対側では、ループを離れて、タイマーが更新されるたび、およびタッチ処理が行われるたびに描画するように指示することもできますが、これもうまく機能しません。
問題は、この種のゲームの一般的なアプローチは何ですか?(画面に連続的にレンダリングする必要があるタイミングループ/タッチイベント(移動))。
前もって感謝します。
android - Android touchevent--- シナリオに応じたヘルプ/提案が必要
今、私は ImageView と、中心位置より少し下にある円を持っています (しかし、これは問題ではありません)。
ACTION_DOWN、ACTION_UPのImageViewのコードonTouchを書きましたが、ユーザーが円に指を置いて移動して移動したと考えます....ユーザーが指を動かしてCIRCLE画像の領域を超えたときにいくつかのコードをアクティブにしたい(とすぐに)ユーザーがリージョンを超えた場合、コードは 1 回だけ実行する必要があります)
これが私のコードです
ACTION_MOVE を使用して目標をアーカイブできません: ユーザーが円内で指を動かすと機能し始めるためです。
そして私の2番目のクエリは、私が使用したこのイメージビューのアルファを設定する方法です
しかし、機能していません。また、このイメージビューを非表示にしましたが、onTouch コードが機能していません