ボトルを示す cocos2d で (2d) スプライトを描画しようとしています。ボトルは動的な水位を持つことができなければなりません (つまり、ボトル内の水の量はスプライトの存続期間にわたって変化する可能性があります)。
私はこれを行う方法を疑問に思っています。私は現在、空き瓶の PNG ファイルを持っています。その PNG のアルファ チャネルを調整して、スプライトをレンダリングするときに青い四角形を描画し、その上にボトル テクスチャをレンダリングできるようにしました。ボトルの中に水が入っているような印象になります。
ただし、ボトルの形自体はもちろん四角形ではないので、ボトルの外まで水が見えてしまいます。ボトル自体だけが透明になるようにボトルの画像を変更し、「外の世界」を不透明な色とアルファ チャネル値に設定することはできますが、その領域で「世界の背景」が再び見えなくなります。
これを正気な方法で実現する方法がわかりません。ボトルの画像のすべてのピクセルを読み取り、ボトルの「内側」にあるピクセルを特定してから、水をピクセルごとに描画する必要がありますか? もっと簡単な方法があるはずですよね?;)
この種のタスクのベスト プラクティスはありますか?
編集:私が話していることをやや明確にするために、下の図を参照してください;)