İlk olarak, Texture vs TextureRegion: Doku t = yeni Doku (yol) gibi bir şey yaptığınızda, bunu GPU'ya yüklersiniz. Ek olarak, 2 doku gücü yüklemelisiniz. Diğer çözünürlüklerle çalışabilirsiniz (Texture.setEnforcePotImages = false), ancak 2'nin gücünü kullanması önerilir.
Şimdi, TextureRegion, boyutu ne olursa olsun, bir Dokudan bir "parça" alır. Bir Dokuya ve birden fazla Dokuya sahip olmanın avantajı, her bir dokuyu GPU'ya yüklememenizdir.
Düşündüğünüz gibi, SpriteBatch ile çizim yapmak istediğinizde, çoklu Dokular yerine TextureRegion kullanmak çok daha verimli, üzgünüm İngilizcem yeterince iyi değil. İşte iyi bir açıklama: Textures TextureRegion & SpriteBatch
Şimdi, tüm hareketli sayfalarda ve görüntülerde 2 çözünürlük gücünde TextureRegion ve tek bir görüntü kullanmak istiyorsunuz. Tüm koordinatları ve boyutları içeren TextureRegions'ı oluşturmak zorunda mısınız? Pikselleri saymak için boyayı açmanız mı gerekiyor? Hayır, değil. TexturePacker gibi bir şey kullanabilirsiniz . Her dokuyu tek bir görüntüde toplayacak ve hepsinin boyutları ve koordinatları ile bir .pack dosyası oluşturacak.
Sonuç böyle bir şey olacaktır:
Bir Doku oluşturmak yerine, şu şekilde bir TextureAtlas oluşturun:
Şimdi, TextureRegions'ınızı oluşturmak şu kadar basit olacaktır:
(Bölge adının, uzantısız orijinal görüntünün adı olduğunu unutmayın).
Sprite, Toplu iş kullanarak 2B sprite çizmek için geometri, renk ve doku bilgilerini tutar. Bu, onları kolayca döndürebilir ve hareket ettirebilirsiniz. Kendi Entity sınıfımı oluşturdum ve Sprite sınıfına ihtiyacım yok. Muhtemelen aynısını yapardın. Bu sınıfı gerçekten kullanışlı bulmuyorum.
Image sınıfı, Actor'dan miras alır. Bu, bir sahneye ekleyebileceğiniz anlamına gelir. Scene2D paketinin bir parçası. Libgdx'te yeniyseniz ve bu paket hakkında bir bilginiz yoksa, bu sınıf hakkında sizin için yeterli bilgi. Bu gerçekten ilginç bir konu, ancak bu soruya cevap vermemek.
Umarım yardımcı olur :)