Android Oyun Programlama Ders 1: Resim Çizdirme Uygulaması ve Texture, TextureRegion, Sprite Kavramları

Resim çizdirme uygulamasına geçmeden önce, android ile oyun geliştirme aşamasında sürekli kullanılacak kavramlardan Texture, TextureRegion ve Sprite kavramlarını açıklamaya çalışacağım. Ardından uygulamaya göz atabilir, yazının son kısmından da uygulamayı indirebilirsiniz.

Texture: Eklenecek resmin kalıbı gibi düşünülebilir. Her resim için tanımlanmak zorundadır. Resmin boyutu texture tanımlaması esnasında belirtilir.

TextureRegion: Texture ile belirtilen kalıplara resmin yerlerştirilmesini sağlayan nesnedir. Resmin texture’ ı ve yolu bu nesnenin oluşturulması sırasında belirtilir.

Sprite: Oluşturulan TextureRegion’ ı kullanarak resmin ekranda çizdirileceği koordinatları belirten nesnedir.

Kavramların ardından uygulamanın kodlarına göz atalım. Uygulamada iki resmi ekrana çizdireceğiz. Öncelikle Texture’ları, ardından TextureRegionları oluşturup birbirleriyle ilişkilendirdim. Ardından onLoadScene() fonksiyonu içinde Sprite’ları oluşturup this.scene.attachChild(spriteResim1) ifadesiyle ekrana resimleri çizdirdim.

Resimlerin yollarına özellikle değinmek istiyorum. Resimler genelde assets klasörü içine oluşturulan gfx klasörü içine koyulur. Yeni başlayanların da bu alışkanlığı edinmeleri iyi olacaktır.

[cc lang =’java’]
package www.serefakyuz.com;

import org.anddev.andengine.engine.Engine;
import org.anddev.andengine.engine.camera.Camera;
import org.anddev.andengine.engine.options.EngineOptions;
import org.anddev.andengine.engine.options.EngineOptions.ScreenOrientation;
import org.anddev.andengine.engine.options.resolutionpolicy.RatioResolutionPolicy;
import org.anddev.andengine.entity.scene.Scene;
import org.anddev.andengine.entity.sprite.Sprite;
import org.anddev.andengine.entity.util.FPSLogger;
import org.anddev.andengine.opengl.texture.Texture;
import org.anddev.andengine.opengl.texture.TextureOptions;
import org.anddev.andengine.opengl.texture.region.TextureRegion;
import org.anddev.andengine.opengl.texture.region.TextureRegionFactory;
import org.anddev.andengine.ui.activity.BaseGameActivity;

public class comSpriteOlusturmaActivity extends BaseGameActivity {

private static final int CAMERA_WIDTH = 800;
private static final int CAMERA_HEIGHT = 480;
private Camera camera;
Texture textureResim1, textureResim2;
TextureRegion textRegResim1, textRegResim2;
Sprite spriteResim1, spriteResim2;

public Engine onLoadEngine()
{
camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
final EngineOptions engineOptions = new EngineOptions(true, ScreenOrientation.LANDSCAPE, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), camera);
engineOptions.getTouchOptions().setRunOnUpdateThread(true);
Engine engine = new Engine(engineOptions);

return engine;
}

public void onLoadResources()
{
textureResim1=new Texture(128,128,TextureOptions.BILINEAR_PREMULTIPLYALPHA);
textureResim2=new Texture(128,128,TextureOptions.BILINEAR_PREMULTIPLYALPHA);

textRegResim1 = TextureRegionFactory.createFromAsset(textureResim1, this, “gfx/blueSmileIcon.png”, 0, 0);
textRegResim2 = TextureRegionFactory.createFromAsset(textureResim2, this, “gfx/yellowSmileIcon.png”, 0, 0);

mEngine.getTextureManager().loadTextures(textureResim1, textureResim2);
}

Scene scene;
public Scene onLoadScene()
{
this.mEngine.registerUpdateHandler(new FPSLogger());
this.scene = new Scene();

spriteResim1 = new Sprite(100, 100, textRegResim1);
spriteResim2 = new Sprite(400, 100, textRegResim2);

this.scene.attachChild(spriteResim1);
this.scene.attachChild(spriteResim2);

return this.scene;
}

public void onLoadComplete() {

}
}
[/cc]

Uygulamayı çalıştırmadan önce eklemeniz gereken son kod bloğu da AndroidManifest.xml dosyasına eklenecek olan

[cc lang =’java’]

[/cc]
satırıdır. Aşağıdan nereye ekleneceğini görebilirsiniz.

AndroidManifest.xml
[cc lang =’java’]










[/cc]

Eğer daha önce android ile proje geliştirmediyseniz eklenecek olan jar dosyalarının eklenme aşaması için tıklayınız.

Ayrıca uygulamanın sonucunu görmek adına bilgisayarınıza emülatör(Sanal mobil cihazı) kurma işlemlerine de buradan ulaşabilirsiniz.

Unutmayın ki eğer yukarıdaki iki paragrafı doğru bir şekilde uygulamazsanız projeniz hatalar verecek çalışmayacaktır. Android ile oyun geliştirme derslerinin ilkinde uygulamaya resim ekleme işlemini görmüş olduk. Uygulamanın kaynak kodunu ve dosyalarını buradan indirebilirsiniz. İyi çalışmalar.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir