31 Mart 2015 Salı

Corona SDK 5.Ders Display Nesnesine Giriş

  Ahmet Şimşek       31 Mart 2015 Salı


Önceki derslerimizde Lua dilini nasıl kullanacağımızı anlatmaya çalıştık. Şimdi sıra biraz daha görsel kısma geçiş yapmaya geldi. Bu dersimizde display nesnesini ve ona ait fonksiyonların kullanımlarını göreceğiz. Corona SDK nın ana kullanımını anlattıktan sonra yaygın olan oyunların klonlarının yapılacağı dersler gelecek. Bir nevi dersleri pekiştirmek adına.

Display nesnesi
Display nesnesi oyunumuzda görsel olarak şekiller çizmek,görüntü eklemek,hareketli grafikler oluşturmak ve yazı yazmak gibi birçok işlemi kolayca yapabilmemizi sağlar.

Aşağıda örneklerini göreceğimiz fonksiyonların genelinde kullanacağımız bazı terimlerin açıklamasını yapalım.
x : 2 boyutlu koordinat sisteminde 0 noktasına olan yatay uzaklık
y : 2 boyutlu koordinat sisteminde 0 noktasına olan dikey uzaklık


Dörtgen oluşturma -> display.newRect(x,y,genişlik,yükseklik)
x ve y ile dörtgenin merkezinin koordinatlarını belirleyip genişlik ve yüksekliğinide belirleyerek dörtgenimizi oluşturuyoruz.

örnek :
local dortgen = display.newRect(300,300,300,300)
-- dörtgenin kenar kalınlığı
dortgen.strokeWidth = 15
-- dörtgenin arkaplan rengi
dortgen:setFillColor(0.1,0.2,0.3)
-- dörtgenin kenar rengi
dortgen:setStrokeColor(0.3,0.2,0.1)

çıktı :











Daire oluşturma -> display.newCircle(x,y,yarıçap)
x ve y ile dairenin merkezinin koordinatlarını belirleyip yarıçap değerini belirleyerek dairemizi oluşturuyoruz.

örnek :
local daire = display.newCircle(300,300,200)
-- dairenin kenar kalınlığı
daire.strokeWidth = 15
-- dairenin arkaplan rengi
daire:setFillColor(0.5,0.5,0.5)
-- dairenin kenar rengi
daire:setStrokeColor(1,1,1)

çıktı :












Çizgi oluşturma -> display.newLine(x1,y1,x2,y2,x3,y3 .. )
Çizginin başlangıç noktasını belirleyip sonra istediğimiz kadar nokta ekleyerek belirlediğimiz şekilde çizgilerimizi oluşturuyoruz.

örnek :
-- ilk çizgimizi oluşturduk
local cizgiler = display.newLine(50,50,100,100)
-- çizgimize yeni çizgiler ekledik
cizgiler:append(300,100,350,50)
-- çizgimizin kalınlığını belirledik
cizgiler.strokeWidth = 10
-- çizgimizin rengini ayarladık
cizgiler:setStrokeColor(0.9,0.9,0.9)

çıktı :









Yazı yazmak -> display.newText(yazı , x , y , genişlik , yükseklik , font , font büyüklüğü)
Yazı kısmına yazmak istediğimiz yazıyı x,y ye yazı koordinatlarını yazıyoruz. Örneğimizde mevcut sistem fontunu kullanacağız ama daha sonra dışarıdan font dahil etmeyide göreceğiz. Genişlik ve yükseklik kısmını girmek zorunlu kullanım amacı yazının belirli bir alana sığmasını istiyorsak belirlediğimiz alanın dışına yazı taşmıyor. Font büyüklüğü kısmı ilede yazımızın büyüklüğünü ayarlıyoruz.

Genişlik ve yükseklik kullanımına göre iki örnek hemen altta.

örnek :
local yazi = display.newText("merhaba dunya", 200, 300,native.systemFont,40)
yazi:setFillColor(1,1,1)

çıktı :












örnek :
local yazi = display.newText("merhaba dunya", 200, 300,30,500,native.systemFont,40)
yazi:setFillColor(1,1,1)

çıktı :














Görüntü eklemek -> display.newImage(resim dosya yolu)
Resmin dosya yolunu yazdıktan sonra konumlandırma,yön verme gibi diğer özelliklerini değişken üzerinden yapabiliyoruz.

örnek :
local resim = display.newImage("at.jpeg")
-- resimi konumlandırma
resim:translate(300,300)
-- resimi boyutlandırma
resim:scale(0.5,0.5)
-- resime açı verme
resim:rotate(30)

çıktı :











Bu dersimizde display nesnesi ile yapabileceğimiz birkaç farklı şeyi gördük. Sonraki dersimizde yapabileceğimiz diğer şeyleri görüp fizik kütüphanesinin Corona SDK da nasıl kullanıldığı ile devam edeceğiz.

logoblog

Thanks for reading Corona SDK 5.Ders Display Nesnesine Giriş

Previous
« Prev Post

1 yorum:

  1. Merhaba lua script konusundan sizden yardım isteyecektim.Simple tv adında bir player oynatıcı için hazırlanmış bazı lua scriptleri nasıl hazırlayacağımızı veya hazır olanları nasıl kendimize uyarlayabileceğimizi öğretebilirseniz çok çok mutlu olurum.Konu biraz uzun size gerekli dosyaları ve scriptleri göndermek isterim bunun için facebook'tan ulaşabilir veya size ulaşabileceğim başka bir yol gösterirseniz sevinirim.Şimdiden teşekkürler.

    facebook.com/hpgdisco

    YanıtlaSil