問題タブ [hittest]

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.

0 投票する
1 に答える
126 参照

arrays - ヒットテストは正常に機能しますが、同じオブジェクトに値を設定するとエラーが発生しますか?

私はいくつかの弾丸を撃つことに取り組んでおり、衝突テストは完全にうまく機能し、ゾンビを傷つけることさえあります. 1つの問題を除いて、弾丸がゾンビに当たったときに弾丸が消えるようにしたいのですが、これは簡単に聞こえます「弾丸コンテナ」クラス内ですでにヒットテストを行っています。そして、出力ダイアログは、それが関数ではないことを示しています(事実、それが関数であり、それ自体が適切にロードされている「bulletClass」クラスであることはわかっています)。弾丸を作成して撃つと、それはそれ自身の心を持ち、その内部で変更する変数をリッスンしないようで、消える必要があることを伝える/ killBullet()

これが私のコードのスニペットです。もっと必要な場合はコメントしてください(それほど多くはありませんが)

BulletClass(bulletClass からすべてを表示): (REDENDENT SWITCH() コードを無視します。これは後の開発で使用するためのものです)

0 投票する
1 に答える
239 参照

iphone - CALayer ヒット テスト用の MouseChildren はありますか?

おい。4 つの円レイヤーを含むメイン レイヤーがあり、各円の内側にはテキスト レイヤーがあります。

メインレイヤー→(4)サークルレイヤー→(1)テキストレイヤー。

メインレイヤーでヒットテストを行っており、クリックされた円を受け取りたいです。正常に動作しますが、テキスト領域をタップすると、円レイヤーではなくテキストレイヤーが返されます。

AS3 では、

この機能を目的の c で取得するにはどうすればよいですか?

ありがとう

シャニ

0 投票する
1 に答える
5540 参照

javascript - 効率的なjQueryヒットテストはありますか?

HTML、CSS、JavaScript(jQuery)を使って簡単なゲームを作成しています。すべての粒子(弾丸)が由来する本船があります。それらはそれぞれ単なるdivです。次に、敵のdivが画面全体にランダムに配置されます。

各パーティクルが特定の敵に当たっているかどうかをテストする効率的な方法を探しています。私はうまくいき始めたものがありますが、信じられないほど速く行き詰まります。私はjsを初めて使用するので、私のコードはかなり乱雑で、他の多くの点でおそらく非効率的です。任意の提案をいただければ幸いです!

これが敵を作成し、攻撃するためのテストを行う私のセクションです:

このようなものをブラウザでスムーズに実行することは現実的ですか?私のコードはいくつかの変更が必要ですか?おそらくより多くのコンテキストが必要になるので、次のようにします。

2012年1月12日編集: ゲームリンクが削除されました//関連性がありません

注:現時点では、これはChromeとSafariで最適に機能します。

2011年3月22日編集: 敵が消えたときを正確に確認できるように、敵のfadeOut()をhide()に変更しました(遅延する場合があります)。hitTestは、実際の敵をクリックしたときにのみトリガーされるように見えるので、通過してもトリガーされません。また、hitTestのclearIntervalを忘れました。これはパフォーマンスを劇的に向上させるように見えましたが、それでもまだ十分ではありません。

0 投票する
1 に答える
702 参照

c# - Xna 武器クラス内に弾丸を作成する必要があります

基本的に弾丸を含むすべてを生成するgameplay.csがあります。

ゲームプレイでは、地形や他のキャラクターでヒット検出を行うために弾丸にアクセスする必要があります。

ゲームプレイ クラスではなく、武器クラス内で弾丸をインスタンス化します。

しかし、それは弾丸を追跡してヒットテストを行うことができないことを意味します....

ここでいくつかのガイダンスが必要です。私が C# と xna の初心者であることを期待してください。

0 投票する
3 に答える
2085 参照

opengl - 2D投影から3D点群へのマッピング

点の頂点(XYZ)と最終的には三角形の面で構成される3Dモデルがあります。OpenGLまたはcamera-view-matrix-projectionを使用して、3Dモデルを2D平面、つまりビューウィンドウまたはm*n解像度の画像に投影できます。

問題は、2D投影計画のピクセルと、元の3Dモデルの対応する頂点(または面)との対応をどのように判断できるかです。

つまり、
2D投影からの特定のピクセルの3Dモデルで最も近い頂点は何ですか?
openGLまたはレイトレーシングの問題を選択しているように聞こえます。しかし、簡単な解決策はありますか?

レイトレーシングのアイデアでは、実際には、視点から光線と交差する最初の頂点/面を見つけることです。誰かが私にいくつかのチュートリアルや例を見せてもらえますか?OpenGLの使用とは独立したアルゴリズムを見つけたいと思います。

0 投票する
2 に答える
5982 参照

flash - AS3:任意のオブジェクトをHitTest

画像がカーソルとして機能するアプリケーションに取り組んでいます。ここで、カーソルがどのオブジェクト上にあるかをいつでも知りたいと思います。HitTestObject(*)のようなもので、*が表すオブジェクトを確認できます。誰かが私がこれをどのように達成できるか考えていますか?(そしてマウスを使用することはオプションではありません)

0 投票する
2 に答える
1896 参照

delphi - ワールド座標の SVG 画像のスクリーン座標を使用したヒットテスト

GDI+ を使用してマウス座標をワールド座標に変換するにはどうすればよいですか? または、GDI+ を使用して描画された SVG 形状のバウンディング ボックス (またはそれ以上) の古い skool 領域を取得しますか?

ともかく。私は SVG コードを探していて、見つけました:
http://development.mwcs.de/svgimage.html
これは、実際に SVG で動作する最初の Delphi コンポーネントですが、脱線します。

このコンポーネントは、GDI+ を使用して円、曲線などを表示します
。GDI+ はマトリックスを使用して、ワールド座標、回転、歪みを画面座標に変換します。
この部分はわかります。行列の乗算を使用して変換を行います。

問題は
、マウスカーソルを閉じた形状の上に置いた場合です。

  1. マウスのスクリーン ポイントをワールド ポイントに変換して、画面上に描かれた円にヒット テストできるマトリックスをどこから取得すればよいでしょうか。
    これらすべての GDI オブジェクトの中から選択できるマトリックスが非常に多くあります。
  2. ビットマップへの描画とカーソル下の魔法の色のテストについて教えてください。これは私が探しているものではありません。
  3. マトリックスのチェーンがある場合、スクリーン座標がワールド座標に正しく導かれるように、それらを正しい (反転した?) 順序でトラバースするにはどうすればよいですか?

つまり
、SVG 画像から読み込まれた形状は、マトリックスによって画面座標に歪められるプリミティブです。画面座標から座標に逆算して、図形の中にいるかどうかを確認するにはどうすればよいですか。

現在の形状を知る必要があることに注意してください
。SVG 画像の設定方法により、各形状には ID があり、それを使用して、マウスでヒットした領域を確認したいと考えています。

編集

あるいは

  1. 画面座標で形状ごとに境界四角形を取得して、それに対してマウス座標を確認できますか?
  2. 画面座標で PtInRegion を実行できる古い skool GDI リージョンを取得できますか。

これらすべての歪んだパスで自分の道を見つけるのを手伝ってくれることを願っています:-)。

0 投票する
1 に答える
816 参照

actionscript-3 - hitTestObject、stopDrag は、関数がドラッグを停止する 1 つのムービークリップを指定している場合でも、2 つのムービークリップでドラッグを停止します

movieclip1 がドラッグされて線にヒットしたときにドラッグを停止する関数がありますが、関数で呼び出されていなくても、他のムービークリップの swf でドラッグ関数全体を停止しているようです。誰かがこれで私を助けてくれませんか。

よろしくT

コードは次のとおりです。

0 投票する
4 に答える
6159 参照

actionscript-3 - AS3 - マウス ボタンを押さずにオブジェクトをクリックしたかどうかの検出

さて、as3ではクリックすると最上位レイヤーのオブジェクトがクリックされます。誰かにスペースバーを押してもらい、画面上のオブジェクトが点に触れているかどうかを確認してもらいたいです。

だから私は最初にヒットテストを試しました...

if (this.hitTest(myPoint)){ play(); }

問題は、他のオブジェクトの背後にあるオブジェクトが、「クリック」されていると考えていたことです。

その後、イライラした後、Googleを使用しましたが、何も見つからなかったので、何か助けてください。

0 投票する
5 に答える
10115 参照

ios - UIView。親の範囲外のサブビューがタッチを受け取らないのはなぜですか?

単純な-些細な-UIViewの親/子階層があります。1つの親(UIView)。1つの子(UIButton)。親の境界は子の境界よりも小さいため、子の一部は親の境界ボックスを超えて拡張されます。

問題は次のとおりです。親のbboxの外側にある子の部分は、タッチを受け取りませ。親のbbox内をタップするだけで、子ボタンがタッチを受け取ることができます。

誰かが修正/回避策を提案できますか?

アップデート

この質問に続く人のために、@Bastiansの最も優れた回答の結果として私が実装したソリューションは次のとおりです。