Box 2D, Erin Catto tarafından C++ dilinde yazılmış zengin özelliklere sahip olan 2 boyutlu bir fizik motorudur .
Flash oyun geliştiricilerinin eninde sonunda tanışacakları bir gerçektir.
Bu motoru kullanmadan da bir çok oyun türetebilirsiniz ama bir çok fiziksel hesaplamaları kendiniz bu kadar hızlı ve gerçekçi yazamazsınız.
Box 2D içinde bir çok matematiksel ve fiziksel hesaplamalar(Çarpışma,ağırlık,yer çekimi,hareket kanunları,döndürme,eklem yerleri simülasyonları,katı cisimler,yoğunluk,fiziksel çevre sınırlılıkları) mevcuttur.
Bu yazıyı yazdığım anda; Ülkemizde Box 2D için Tükçe kaynak imkanı “0” olduğu için bu makalemi sürekli doldurarak devam etmek istiyorum.
Ama ilk önce yazılan bu kodların daha iyi kavranabilmesi için bazı İngilizce kavramları ve içindeki class ların(b2AABB,b2Vec2) ne işe yaradığını bilmek gerekir bunları
tanımakta fayda var diye düşündüm.Bunlar:

  • b2AABB:Evren boyutlarını ayarlamak için kullanılabilecek bir class’tır.Unutmayın Box 2D içinde evren boyutları sınırlıdır.Herhangi bir shape bu sınırların dışına çıkarsa donup kalacaktır.
  • b2Vec2:yer çekimi tanımlamalarında x ve y değerlerin vektorel olarak tutan kullanılan bir class’tır.
  • b2World:eklem yerleri ,simülasyon adımlarını tutan bir class’tır.
  • b2Body :katı cisimleri temsil etmek için kullanılan bir class’tır.Box 2D sadece katı cisimleri yonetir.
  • b2BodyDef:katı cisimlerin konumlarını belirlemek için kullanılır.bunu bir kap olarak düşünebiliriz.Bu kabı tanımladıktan sonra ancak konum belirtebiliriz.
  • define=tanımlamak
  • definition=tanım
  • floor=zemin
  • constant=sabit
  • wall=duvar
  • universe=evren
  • collision=çarpışma
  • density=yoğunluk yoğunluğun 0 olaması demek herhangibir çarpışmadan etkilenmeyecek demektir.bu zemin için kullananılır.
  • radius=yarıçap
  • friction=sürtünme
  • gravity=yerçekimi
  • ground=yer,yerin yüzü
  • ignore=yoksaymak
  • shape=şekil (daire veya çokgen)
  • sphere=küre,alan
  • joint=birleşmiş,ek yeri,bitişmiş
  • manifold=üzerinde çeşitli açıklıklar bulunan kapalı bir boru
  • convex=dış bükey
  • bound=bağlı
  • steroid=4 halkadan oluşmakta olan bir bileşik.
  • distance=mesafe
  • equal=eşit
  • add=eklemek
  • substract=çıkarmak
  • mass=kütle
  • own=kendi
  • size=boyut
  • lower=alt
  • upper=üst
  • act=hareket,eylem,kanun,yasa
  • quick=hız
  • unit=birim
  • meter=metre…Box 2d içinde pixel değil, metre kullanılır.1Metre kaç Pixel derseniz bunun gerçek bir standardı yoktur ama 1 metre genelde 30 -40 pixel olarak oranlanır.Siz 30 pixel kullanabilirsiniz.Mesela 90px=3 Metre dir(90px/30=3 Metre)
  • pixel=bilgisayar ekranlarında ki her bir kare.videolarda bu dikdörtgendir.
  • ratıo=oran bu değer genellikle metre değerleri; pixel değerlere dönüştürmek için kullanılan sabit bir değer olarak (const) tanımlanır.
  • body=gövde,vucut
  • polygon=çokgen
  • rectangle=dikdörtgen
  • clockwise=saat yonunde
  • verticle=dikey
  • vertex=tepe
  • impulse=tepki
  • restitution=tazmin etmek,zarar gidermek
  • create=oluşturmak
  • so=bu yüzden
  • specify=belirlemek

Ne işe yaradığını anlamak için aşağıda Box 2D ile yapılmış basit bir örnek var:

This movie requires Flash Player 9

Ayrıca box 2d’de shape tanımlama ;flash ile shape tanımlamaktan biraz farklıdır.Flash içinde bir shape tanımlarken genişlik olarak 300 px veririz ama Box 2D’de bu genişliğin yarısını kullanırız.
Ayrıca flash içinde shape başlangıç noktasını sol üst kose veririz ama box 2d’de başlangıç noktası orta kısımdır.
Ayrıca box 2d ‘de herhangi bir shape(b2polygondef) tanımladıktan sonra bunun için bir body (b2bodydef)tanımlamamız gerekir.Bunu ilerleyen derslerimizde açıklayacağım.

Box 2D çizim yapmaz ,o sadece dünya içinde gerekli hareketleri,nesne konumunu ve döndürmeyi hesaplar.
Fiziksel tabanlı oyunlar ve projeler için İndireceğiniz bu dosyayı ,projenize import ederek başlayabilirsiniz.(349 KB)
Şunu da söylemek isterim ki bu anlattığım konuları emenualferonato başta olmak üzere bir çok siteden derleyip Türkçe çevrilerini yaparak anlatmaya çalışıyorum.Benim Türkçe makalelerimi beklemeyen arkadaşlar için bu adresleri veriyorum ki aceleleri varsa buralara baksınlar.Yukarıda ki uygulamanın .fla ve diğer dosyalarını da buralardan bulabilirsiniz.

Yazar Hakkında

4 Comments

  1. yazınız çok yararlı ellerinize saglık fakat box2d yi flash la beraber nasıl kullanıcaz onu anlatmamıssınız diger yazınızda bundan bahsederseniz çok memnun olurum iyi günler

  2. gerçekten çok faydalı bir paylaşım. flash uygulamalarına nasıl eklendiği ve kullanıldığı hakkında bilgi paylaşabilirseniz sevinirim.

  3. iyi günler, sanırım gelecek yazılarınızda box2D den bahsetmeyeceksiniz bu yazınızdaki örnegin .fla dosyayını koyarsanız sevinirim. İyi çalışmalar

  4. http://emenualferonato.com/ adresinden bu ve diğer örnekleri indirebilirsiniz.Bu aralar biraz yoğun olduğum için Türkçe ye çevirilerime ve makalelerime biraz ara verdim.

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Close