0

シンプルな黒いドーナツのスプライトのレイヤーがあります。ユーザーがスプライトを別の色で描画できるようにしたいと思います(これは、CCRenderTextureを使用して問題なく実行できました)。

私の質問は、画像が少なくとも95%トレースされているかどうかを計算する方法です(つまり、黒いピクセルの95%が新しい色になったことを確認します)。レイヤーのスクリーンショットを撮り、黒いピクセルの数を数えるなどの方法を試しましたが、うまくいきませんでした(このソリューションを使用:https ://stackoverflow.com/a/1262893/1577738 )。

タッチしたときに各ピクセルの色を変更できればさらに良いでしょう(線の色付けの問題を回避するため)。理論的には、ドーナツを10個のスプライトのように分割し、ユーザーがそれに触れた場合にそのセクションの色を変更することもできますが、ユーザーにさまざまな色の束を使用するオプションを与えると、それはばかげているように見えます。

私はこれを間違った方法で行っていますか?あなたの提案は大歓迎です!

4

1 に答える 1

0

ピクセルの色の読み取りはかなり不正確で遅くなります。エリアを小さな長方形(つまり、8x8または4x4)に分割し、ユーザーが描画したときにそれぞれに「訪問済み」のフラグを立てることをお勧めします。ほとんどの長方形の領域にフラグが付けられている場合、ユーザーはテクスチャのほとんどの部分に描画しています。

于 2012-09-12T21:14:25.937 に答える