Sejauh ini cara termudah untuk melakukan ini (jadi mungkin cara terbaik, kecuali jika Anda benar-benar kekurangan kinerja) adalah memiliki dua salinan sprite Anda.
- Versi reguler
- Versi "gemuk", tidak berwarna - pada dasarnya versi putih dari sprite X Anda - lebih banyak piksel "lebih gemuk" dari aslinya.
Gambarkan seluruh objek Anda menggunakan versi "gendut", lalu gambarkan versi reguler di atasnya.
Dengan menjadikan versi "gemuk" putih, Anda dapat menggunakan pewarnaan warna bawaan SpriteBatch untuk mengubah warna pilihan secara dinamis.
Untuk menghasilkan verison "gemuk" Anda, saya sarankan untuk menulis Content Pipeline Extension yang dapat secara otomatis mengambil sprite asli Anda, membaca saluran alfa mereka, membuat saluran alfa baru dengan mengambil sampel saluran alfa maksimum dalam gambar asli X-banyak piksel di sekitar setiap piksel, dan pengaturan RGB = (1,1,1).
Anda harus memastikan semua sprite Anda memiliki batas transparan yang cukup untuk menambahkan garis besar (Anda dapat memeriksa ini di pengolah konten - dan bahkan memberikan ruang jika perlu).
Jika Anda hanya memiliki beberapa sprite, maka Anda bisa menggunakan editor gambar yang baik (GIMP, Photoshop) dan melakukannya dengan tangan: saluran Alpha untuk memilih, memperluas pilihan, memilih ke alpha, mengisi saluran warna putih.