2011-11-13 4 views
2

私は、自分のタイルマップベースのiPhoneゲーム内である程度の照明を追加しようとしています。より良い例がないので、私はミニクラフトスタイルのライティングを追加しようとしています - さらに、光源からのタイルはより大きな「暗い」色合いです。Cocos2dマスクレイヤー(タイルマップ照明)

私が考える最も効率的なやり方は、このエフェクトを作成するためにタイルマップレイヤーにある種のマスクを追加し、プレーヤーが移動するときに単にタイルマップでマスクを移動することです。

レイヤ全体にマスクを追加する方法に関するドキュメントは見つかりませんでしたが、これは可能ですか?それとも悪い習慣ですか?または、この効果を達成するためのより良い方法を考えてみませんか?

答えて

1

最も単純で最も効率的な解決策は、タイルのカラープロパティを変更することです。デフォルトでは、すべてのノードの色は「白」で、黒色の間に灰色の色を適用することにより、黒色の&をタイルの明るさを制御することができます。

ただし、CCSpriteのようなタイルを扱う場合、cocos2dは基本的な実装からタイルを変更し、それをCCSpriteに変更します。これは、パフォーマンスおよび/またはメモリの問題となる可能性があります。私がcocos2d 0.99をチェックインした最後の各CCSpriteインスタンスは420バイトでした。

関連する問題