Önceki yazımızda Andengine Geometrik şekiller oluşturma konusundan bahsetmiştik. Bu konumuzda izse Andengine Texture Ve Sprite Nesnesi konularını ele alacağız.
Andengine Texture Nesnesi
Andengine Texture Nesnesi çizdirilecek olan resmi kapsayan nesnedir. Yani Andengine ile çizilecek olan resimler Texture Nesnesi içerisine çizilmelidir. Texture nesnesi içine yerleştirilecek resmin boyutundan küçük olamaz. Eğer olursa runtime hatası meydana gelir.
Texture nesnesi boyutları 2'nin kuvvetleri şeklinde olmalıdır.
textNesnemiz = new Texture (1024, 512, TextureOptions.BILINEAR_PREMULTIPLYALPHA);
şeklinde bir kullanım gereklidir. Eğer 2'nin kuvveti şeklinde bir değer verirseniz uygulamanın derlenmesi sırasında hata alırsınız.
Andengine TextureRegion Nesnesi
Andengine TextureRegion nesnesi, çizdirilecek olan resmin, kalıbıyla birleştirilen halidir. Yani daha önceden meydana getirilmiş Texture nesnesi ile resmi ilişkilendiren yapıdır. Sprite Nesnesi bu yapıyı Kullanır.
Andengine Sprite Nesnesi
Resim çizdirme ile ilgili en önemli nesne Andengine Sprite Nesnesi dir. Sprite Nesnesi, TextRegion Nesnesini kullanarak resmi belirtilen sahneye çizme işlemini gerçekleştirir. Sprite Nesnesi Yapıcı Metodu değişken olarak çizdirelecek koordinat bileşenleri ile birlikte resmin içerisinde bulunduğu TextRegion nesnesini değişken olarak alır. Resmin boyutları ise Texture Nesnesi oluşturulurken belirtilir.
Şimdi bu değişkenlerimizi Activity İçerisinde oluşturalım. (not: eğer andengine metotlarının oluşturulması hakkında fikrimiz yoksa aşağıdaki yazılara göz atın. bütün konularımız birbirleriyle ilişkilidir)
Andengine Kurulumu ve Box2D KurulumuAndengine Temel Metotlarını Ekleme Andengine Geometrik Şekiller Oluşturma
Şimdi aktivite sınıflarımız içerisinde değişkenlerimizi belirtelim;
public class GeometrikSekil extends BaseGameActivity {
private static final int CAMERA_WIDTH = 800;
private static final int CAMERA_HEIGHT = 480;
private Camera camera;
private Engine engine;
Scene sahne;
private Texture textSaha;
private TextureRegion textReg;
private Sprite spriteSaha;
Yukarıda öncelikli olarak camera, engine ve Scene bilgilerini oluşturduk. Bunları zaten önceki yazılarımızdan biliyordunuz. Yeni olarak ise Texture, TextureRegion ve Sprite nesnelerini oluşturduk.
Şimdi onLoadResource metodumuzda işlemlerimizi yapalım;
@Override
public void onLoadResources()
{
textSaha = new Texture(1024, 512, TextureOptions.BILINEAR_PREMULTIPLYALPHA);
textRegSaha = TextureRegionFactory.createFromAsset(textSaha, this, "src/arkaplan.jpg", 0, 0);
mEngine.getTextureManager().loadTexture(textSaha);
}
burada textSaha değişkenimizin boyutlarını belirledik.
textRegSaha değişkenimize ise textSaha değişkenimizi atadık, arkaplan belirledik, resim konumunu (0,0) oturttuk. Daha sonra texture'ımızı yükledik.
Şimdi ise sıra Sprite Nesnesi oluşturmaya geldi. Sprite Nesnesi onLoadScene metodunda oluşturulur. Şimdi oradaki işlemlerimizi gerçekleştirelim.
@Override
public Scene onLoadScene()
{
this.engine.registerUpdateHandler(new FPSLogger());
this.sahne = new Scene();
spriteSaha = new Sprite(0,0, textRegSaha);
this.sahne.attachChild(spriteSaha);
return this.sahne;
}
Yukarıdaki satırda sprite nesnesi oluşturduk ve daha önde oluşturmuş olduğumuz TextureRegion değişkenini buna atadık. attachChild metodu ile de sprite nesnemizi ekrana bastırıyoruz.
Bir sonraki yazımızda Andengine Animasyon Oluşturma konusunu ele alacağız.
Andengine Animasyon Oluşturma
Etiketler: Andengine Sprite Nesnesi, Andengine Texture Nesnesi, Andengine TextureRegion nesnesi, Sprite Nesnesi