5
テクスチャ内の透明な四角形を削除する(切り取る)方法は、穴が半透明になるようにします。テクスチャ内の半透明の四角形を切り取ります。
は、Android上で私はXfermodesのアプローチを使用します。
しかしlibgdxに、私はOpenGLを使用する必要があります。これまでのところ私はほとんど私が
glBlendFunc(GL_ZERO, GL_ONE_MINUS_SRC_ALPHA);
は私の問題を解決する必要があることをlearendこの素晴らしく、非常に参考にpageからglBlendFuncを使用して、探していたものを実現し、私はそれを試してみた、そしてそれは非常に仕事しませんでした
batch.end();
batch.begin();
//Draw the background
super.draw(batch, x, y, width, height);
batch.setBlendFunction(GL20.GL_ZERO,
GL20.GL_ONE_MINUS_SRC_ALPHA);
//draw the mask
mask.draw(batch, x + innerButtonTable.getX(), y
+ innerButtonTable.getY(), innerButtonTable.getWidth(),
innerButtonTable.getHeight());
batch.end();
batch.setBlendFunction(GL20.GL_SRC_ALPHA,
GL20.GL_ONE_MINUS_SRC_ALPHA);
batch.begin();
私は透明性、任意のアイデアを期待していましたが、それはマスク領域をプレーンブラックにしています。
これは私が得るものです:
これは私が期待したものである:
私たちのためのコードをお願いしますか?あなたの質問を理解するためには良いでしょう。 –
まあまあ、私はいくつかのスニペットについて考えましたが、これまでのところアプローチがないので、一般的な質問がより有用であることを期待しました。しかし、これまでの私の余裕は文書化します。 – joecks
'glblendfunc.php'サイトから' setBlendFunc'パラメータ用のプレーンブラックマスク効果を得ました。あなたはあなたが得ているもの、またはあなたが望むもののいずれかのスクリーンショットを添付できますか? (また、 'glblendfunc.php'サイトでは、"フォアグラウンド "は"バックグラウンド "と同じサイズですので、フォアグラウンドのフルアルファがバックグラウンド全体に適用されます) –