Pertama, Tekstur vs TeksturRegion: Ketika Anda melakukan sesuatu seperti Tekstur t = Tekstur baru (path), Anda memuatnya ke dalam GPU. Selain itu, Anda harus memuat kekuatan 2 tekstur. Anda bisa bekerja dengan resolusi lain (Texture.setEnforcePotImages = false), tetapi disarankan untuk menggunakan pow dari 2.
Sekarang, TextureRegion, mengambil "sepotong" dari Tekstur, tidak peduli itu dimensi. Keuntungan memiliki satu Tekstur dan beberapa TextureRegion dari Tekstur itu, adalah bahwa Anda TIDAK memuat setiap wilayah ke dalam GPU.
Seperti yang mungkin Anda pikirkan, ketika Anda ingin menggambar dengan SpriteBatch, itu jauh lebih efisien untuk menggunakan TextureRegion daripada beberapa Tekstur, maaf bahasa Inggris saya tidak cukup baik. Berikut adalah penjelasan yang bagus: Tekstur TextureRegion & SpriteBatch
Sekarang, Anda ingin menggunakan TextureRegion dan satu gambar tunggal berkekuatan 2 resolusi dengan semua spritesheets dan gambar. Apakah Anda harus membuat TextureRegions dengan semua koordinat dan dimensi? Apakah Anda perlu membuka cat untuk menghitung piksel? Tidaaaak, kamu tidak. Anda dapat menggunakan sesuatu seperti TexturePacker . Ini akan mengemas setiap tekstur menjadi satu gambar DAN membuat file .pack dengan dimensi dan koordinat semuanya.
Hasilnya akan seperti ini:
Alih-alih membuat Tekstur, buat TextureAtlas, seperti ini:
Sekarang, membuat TextureRegions Anda semudah:
(Perhatikan bahwa nama wilayah adalah nama gambar asli tanpa ekstensi).
Sprite menyimpan informasi geometri, warna, dan tekstur untuk menggambar sprite 2D menggunakan Batch. Ini artinya, Anda dapat dengan mudah memutarnya dan bergerak. Saya telah membuat kelas Entity saya sendiri, dan saya tidak perlu kelas Sprite. Anda mungkin akan melakukan hal yang sama. Saya tidak menemukan kelas ini sangat berguna.
Kelas gambar mewarisi dari Aktor. Ini berarti Anda dapat menambahkannya ke dalam panggung. Itu bagian dari paket Scene2D. Jika Anda baru mengenal libgdx, dan Anda tidak tahu tentang paket ini, ini cukup informasi untuk Anda tentang kelas ini. Ini adalah topik yang sangat menarik, tetapi tidak menjawab dalam pertanyaan ini.
Semoga bermanfaat :)
TextureRegion
s dapat mereferensikan bagian yang berbeda (atau tumpang tindih) dari suatu tekstur, sementaraTexture
selalu mengacu pada keseluruhan gambar. Karena mengganti tekstur itu mahal, ini bagus. Deskripsi Anda membuatnya terdengar sepertiTextureRegion
berurusan dengan tekstur jarang (a la.GL_ARB_sparse_texture
) Tetapi libGDX dan sebagian besar perangkat keras yang dijalankannya tidak mendukung ekstensi itu.