2

CCLayer を回転させた後、バウンディング ボックスが回転せずに大きくなります。期待されているのかもしれません。

私の問題は、このレイヤーでのユーザーのタッチに依存していることです。添付画像の下の図のようにレイヤーを回転させると、次のように呼び出しているため、クリック可能な領域が増加します。

if(CGRectContainsPoint(clickableLayer.boundingBox, touchLocation))

これは、回転後のこのバウンディング ボックスがクリック可能な他のものを覆っているため、問題を引き起こします。

実際のレイヤーがタッチされた場合にのみアクションを実行するにはどうすればよいですか? レイヤーのboundingBoxではなく、緑色のボックスだけがクリックされたときに何かが起こるようにしたい.

考え?

ここに画像の説明を入力

4

2 に答える 2

1

このスレッドで答えが得られました: http://www.cocos2d-iphone.org/forum/topic/272336

于 2013-03-19T18:31:20.717 に答える
1

CGMutablePathRef を使用して透明部分を検出できます。

このスレッドで私の回答を参照してください。

CGPath の作成方法に関する情報:こちら

詳細については、ここをクリックしてください

ここに画像の説明を入力

于 2013-03-19T15:42:07.947 に答える