これは自動ではありませんが、少しセットアップとコードが必要な解決策があります。あまりにも難しくはありません。
event.x
とevent.y
のパラメータを調べることで、イベントリスナーのタッチ位置をテストします。これは、各ストリップの左端のx値と右端のx値、たとえばオブジェクトの上から下の10ピクセルの値を持つテーブルを作成することで効率的にすることができます。例えば、この山を考える:
例えば、Yは、テーブルへのインデックスとして、各光の青色の長方形の底の座標、及びそのエントリに左x及び右のyの値をロードする使用:
hitTable[120] = {245,260}
hitTable[130] = {230,275}
のように...
その後、タッチイベントリスナーでは、機能またはちょうどそれがに最も近いですかを確認するためのテストのいずれか、あなたのテーブルの指標の一つにevent.y
パラメータを強制します。次に、そのテーブルエントリを使用して、event.x
がそのy座標に指定したx座標の間にあるかどうかを確認します。そうでない場合は、タッチを無視してください。
あなたも、テーブルを作成し、このような画像自体のプロパティとしてそれを割り当てることができます。
hitTable = {}
hitTable[120] = {245,260}
hitTable[130] = {230,275}
... and so on, then ...
myMountain.hitTable = hitTable
あなたがevent.target.hitTable
ように、タッチイベントリスナーでテーブルにアクセスすることができることをやったら。
ジェフキックのおかげでありがとう。しかし、私はテーブルを作成するために手作業を必要とするので、このようなソリューションを避けることを望んでいました。その意図は、上記のような40の山脈のラインに沿って私のアプリでかなりの大きさでどこかにあることです。 ImはAnscaに対するこれらの機能要求の別の1つかもしれないと恐れている。しかし、確かに彼らはそれを前に聞いた。 – Amoxus