我正在用cocos2d开发一款iPhone2d游戏,其中设置有很多小精灵。我想通过触摸两个类似的精灵的方式,将它们两个都隐藏起来,我如何能够实现这种效果呢?
原问题:How can I detect touch in cocos2d?
走同样的路,发现不同的人生
答え: ジョナス (ベストアンサー) スプライトを含むレイヤーで、次のように入力する必要があります:
その後、UIView で同じイベントを使用できますが、呼び出されるメソッドが異なります:
答え: テレンス この効果を実現するには、スプライトの境界ボックスを設定します。次のコードでは、すべてのスプライトを NSMutableArray に配置し、それらが境界ボックス内にあるかどうかを確認します。同時に、タッチが初期化されていることを確認します。操作:
答え: デビッド・ヒギンズ Jonas の答えに基づいて、さらに改善を加えました:
スプライトの「中心位置」を確保するために、X/Y 位置を調整する必要がある場合があります。
答え: ジョン David のコードは Cocos 0.7.3 および 2.2.1 でエラー メッセージを引き起こすため、CGMakeRect の代わりに CGRectMake を使用し、[touch locationInView:touch.view] を使用して [touch location] エラーを修正しました。 リーリー
答え: ジョナス
リーリー(ベストアンサー)
スプライトを含むレイヤーで、次のように入力する必要があります:
その後、UIView で同じイベントを使用できますが、呼び出されるメソッドが異なります:
リーリー答え: テレンス
リーリーこの効果を実現するには、スプライトの境界ボックスを設定します。次のコードでは、すべてのスプライトを NSMutableArray に配置し、それらが境界ボックス内にあるかどうかを確認します。同時に、タッチが初期化されていることを確認します。操作:
答え: デビッド・ヒギンズ
リーリーJonas の答えに基づいて、さらに改善を加えました:
スプライトの「中心位置」を確保するために、X/Y 位置を調整する必要がある場合があります。
答え: ジョン
David のコードは Cocos 0.7.3 および 2.2.1 でエラー メッセージを引き起こすため、CGMakeRect の代わりに CGRectMake を使用し、[touch locationInView:touch.view] を使用して [touch location] エラーを修正しました。 リーリー