Android Oyun Programlama Ders 8: Body Türleri ve Dinamik-Statik Body Farkları

Android oyun geliştirme derslerinin sekizincisinde fizik uygulamalarında kullanılan body kavramının türlerine hem şekil bakımından hem de dinamiklik-statiklik bakımından değineceğim.

Hızlı bir giriş ile şekil bakımından ne tür body şekilleri olduğuna bakalım. Daha önceki örnekten küçük kod alıntıları üzerinden ne tür şekiller olduğuna bakarsak, daha açık ve net bir anlatım olacağı kanaatindeyim. Şekiller ve oluşturulduğu kod bloklarının tamımını verdikten sonra açıklamaları yapmak istiyorum. Öncelikli olarak ilk body şekli, BoxBody‘dir. Oluşturulma kodu aşağıdaki gibidir:
[cc lang=’java’]
body1 = PhysicsFactory.createBoxBody(this.physicsWorld, spriteResim1, BodyType.DynamicBody, FIXTURE_DEF);
[/cc]
İkincisi CircleBody:
[cc lang=’java’]
body1 = PhysicsFactory.createCircleBody(this.physicsWorld, spriteResim1, BodyType.DynamicBody, FIXTURE_DEF);
[/cc]
Üçüncüsü PolygonBody:
[cc lang=’java’]
Vector2 []vector = new Vector2[5];
//Burada vector dizisine vektörler eklenir
body1 = PhysicsFactory.createPolygonBody(this.physicsWorld, spriteResim1, vector, BodyType.DynamicBody, FIXTURE_DEF);
[/cc]
Dördüncüsü TrianglulatedBody:
[cc lang=’java’]
List pTriangleVertices = new ArrayList();
//Burada pTriangleVertices nesnesine vektörler eklenir
body1 = PhysicsFactory.createTrianglulatedBody(this.physicsWorld, spriteResim1, pTriangleVertices , BodyType.DynamicBody, FIXTURE_DEF);
[/cc]
Beşincisi LineBody:
[cc lang=’java’]
Line line = new Line(50f,50f, 100f, 50f);
body1 = PhysicsFactory.createLineBody(physicsWorld, line , FIXTURE_DEF);
[/cc]

Genel bir açıklama yapmak gerekirse; body’ler PhysicsFactory class’ının metodları aracılığı ile oluşturulur. Bu metodlar, görüldüğü üzere createBoxBody, createCircleBody, createPolygonBody, createTrianglulatedBody ve createLineBody metodlarıdır.
Bir noktaya özellikle değinmek isterim ki eğer yuvarlak bir nesneye BoxBody şeklinde bir body giydirilirse, bu nesne fiziksel etkileşimlerde kare ya da dikdörtgen şeklinde davranacaktır. Burdan çıkarılacak sonuç: “Sprite’ın şekli, fiziksel etkileşimlerde önemli değildir” olacaktır.

Body kavramına dinamiklik-statiklik yönünden bakacak olursak kısa bir açıklamayla static body’ler oyun süresince herhangi bir çarpışma anında hareket etmezler. Örnek olarak bir önceki dersin uygulamasında topların sektiği alttaki çizgi bir static body’dir. Dinamik body ise çarpışmalardan etkilenir ve tepki gösterir. Tahmin edeceğiniz gibi o uygulamada zıplayan top amacıyla kullanılan gülen suratlar birer dinamik body’dir.

Android ile oyun programlama dersinin sekizincisinde body kavramının statiklik-dinamiklik bakımından ve şekil türleri bakımından kullanımlarını ve açıklamalarını tamamlamış olduk. Bir sonraki derste görüşmek dileği ile.

Bir cevap yazın

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