私はCocos2dの初心者です。私はスプライトを持っており、そのスプライトの透明な部分に触れることを無視したい。cocos2dのスプライトの透明部分を検出しますか?
私はこの回答がCocos2d 2.0 - Ignoring touches to transparent areas of layers/spritesであり、この素晴らしい記事http://www.learn-cocos2d.com/2011/12/fast-pixelperfect-collision-detection-cocos2d-code-1of2/も知っています。
私はKKPixelMaskSpriteで動作させることができましたが、ファイルからはスプライトを使用していて、バッチノードからはスプライトを使用していません。スプライトを得るためにバッチノード(スプライトシート)を使用するたびに、動作を停止します。
私はお互いに異なるスプライトを持っていますが、私はこの方法を検出したいと思います - >タッチが現在のスプライトバウンディングボックスにある場合、その部分はスプライトかノーで透明ですか?
P.S.私はcocos2d 1.0を使用しています。物理エンジンを使用したくないので、スプライトの透過領域(バッチノードを使用して作成された領域)のタッチを無視したいだけです。どうすればいいですか?または、役に立つツールがあれば教えてください。
ありがとうございます。
を作成uがCGPathRefを試してみましたか? – Guru
あなたが言及したリンクが完璧なソリューションだと思います。 http://stackoverflow.com/questions/10889170/cocos2d-2-0-ignoring-touches-to-transparent-areas-of-layers-sprites – user739711
@ user739711私はそれを試して、それはバッチノードではなく、単一のスプライトについてのみ私のために働いた。 – User1234