0

サイズが480x800ピクセルの画像があり、配置する必要があるアイコンが 1 つの隅にあります。私が望むのは、透明な領域へのすべてのタッチを無視し、アイコンがある領域のみを検出することです。SOでこの問題の解決策を見つけましたが、使用するコードを伝えるだけです。私は初心者であり、cocos2d についてあまり知らないので、そのコードをどこに置くべきかを正確に知る必要があるため、段階的な解決策を期待しています。

Cocos2d 2.0 - レイヤー/スプライトの透明領域へのタッチを無視する

4

1 に答える 1

0

glReadPixelsAndroidドライバのバグの影響を受けているため使用しないでください。を使用してイメージ座標で CCTouch を CCPoint に変換しconvertTouchToNodeSpace、指定されたポイントでイメージ ピクセルを読み取ることができます。

半透明の画像を含むファイルから CCImage を作成し、タップ ポイントで 1 ピクセルを読み取ります。透過領域の場合は {0,0,0,0} にする必要があります。

CCImage::getData()タップが画像の外にないことを確認し、数式を使用して配列にピクセル インデックスを作成することを忘れないでくださいunsigned index = x * imageWidth + y

于 2013-07-11T05:41:49.403 に答える