Saya sedang membangun contoh tic-tac-toe sederhana dengan LibGDX. Saya memiliki gambar sederhana: lintas, lingkaran, dan papan, semua png
dibuat dengan GIMP dengan latar belakang transparan.
Bagaimana saya dapat menjadikannya sebagai Texture
dengan transparansi?
Saya sudah mencoba dengan fitur mengaktifkan GL10, tetapi sepertinya tidak berfungsi.
java
libgdx
lwjgl
transparency
Vokail
sumber
sumber
Jawaban:
SpriteBatch # enableBlending
sebelum rendering:
sumber
Buat Sprite dan tetapkan Tekstur untuknya, Lalu gunakan Sprite setColor untuk menyesuaikan alpha-nya, seperti itu,
dan dalam render () loop menggunakan SpriteBatch
sumber
Jika Anda menempatkan
di awal loop render () Anda harus menyegarkan layar dengan warna hitam. Jadi jika ada gambar yang memiliki transparansi di dalamnya, itu akan terlihat.
jadi loop render () Anda mungkin terlihat seperti ini
sumber
Saya mencoba membuat .png dengan transparansi juga. Dengan pengaturan dasar (blending tidak diaktifkan) itu tidak membuat dengan benar.
Saya tidak pernah mengaktifkan blending, tetapi saya menambahkan ini:
Masalah saya adalah alfa tidak pernah dihapus. Berarti jika saya merender dengan 0,1 alpha, itu akan membutuhkan 10 frame sampai alpha "ditumpuk" kembali ke 1. Menambahkan panggilan di atas menghapus alpha, sama seperti Anda akan membersihkan warna.
Saya tahu ini adalah pertanyaan lama, jadi solusinya berbeda. enableBlending harus tetap berfungsi, tetapi saya tidak yakin apakah ini mencegah "penumpukan" alpha. Membersihkan bit alpha mungkin merupakan cara termudah untuk mencegah tampilan yang solid.
Adapun rendering yang sebenarnya, itu sama seperti biasa.
sumber