1

私のアプリにはたくさんのCCSpriteがあり、CCSpriteの不透明なピクセルが衝突したときにのみ機能する衝突検出機能が必要です。衝突するスプライト間の色に制限されたくありません。これは、Cocos2Dフォーラムの「PixelPerfect Collision Detection」スレッドが行うことだと思いますが、実際の衝突には任意の色を使用したいと思います。この衝突検出は私のゲームループ内にあるので、それほど高価になることはありません。とにかく、私がこれをどのように行うことができるかについて誰かが何かアイデアを持っていますか?私はCocos2D、Box2D、Chipmunk、さらにはUIKitを使用するつもりです。

ありがとう!

4

2 に答える 2

3

ハードウェアでレンダリングされたグラフィックスについて話すとき、「ピクセルの完全な衝突が必要」と「それらが高すぎることを望まない」は、かなり相互に排他的です。

このような複雑な変換、アンチエイリアシング、またはサブピクセル配置を許可しない単純なレンダラーを作成するか、実際のGPUを使用してある種の衝突マスクをレンダリングします。GPUでこれを行う場合の問題は、GPUにデータを送信するのが高速で、元に戻すのに費用がかかることです。この手法が非常に珍しいのには理由があります。

Chipmunk Proの自動ジオメトリ機能は、さまざまな種類の画像を衝突形状に変換することをサポートしていますが、まだ完成していません。

于 2011-10-02T17:39:44.667 に答える
1

パフォーマンスを低下させたくない場合は、それを行うことは不可能です。サークルに基づいてシステム衝突を実行してみてください。これは衝突を実行するための最良の方法です。

于 2011-10-24T14:38:27.433 に答える