Timer ve Graphics Sınıfı İle Çizim Yapmak


ActionScript’in çizim apisini kullanarak bir daire çizeceğiz. Çizimi gerçekleştirirkense lineTo ve lineStyle metotlarını kullanacağız. lineTo metodu düz çizgiler çizmemize, lineStyle ise çizdiğimiz çizgilerin boyutu, rengi, alfası gibi özelliklerini

belirlememize yardımcı olur. lineTo metotuna x ve y korrdinatlarını göndererek çizgimizi çizebiliriz. Çalışmamızda lineTo metotu ile çizeceğimiz çizgiye açıları vermek için Math sınıfını kullanarak merkez noktaya göre sinüs ve kosinüs açılarını hesaplayacağız. Son olarakta yapacağımız işlemlere süreklilik kazandırmak için Timer sınıfını kullanacağız.

Sahne üzerine ekleyeceğimiz herhangi bir nesne olmadığına göre Actions panelini açarak aşağıdaki kodları yazmaya başlayabiliriz.

//Daireyi oluşturken açıları vereceğimiz bir değişken oluşturuyoruz.
var aci:Number=0;

//sahnenin merkez noktasını alıp değişkenlere atıyoruz.
var merkezX:Number=stage.stageWidth/2;
var merkezY:Number=stage.stageHeight/2;
trace(merkezX, merkezY);

//Olayı süreklilik kazandırmak için bir sayaç oluşturuyoruz ve
//süresini 25 milisaniye olarak ayarlıyoruz.
var sayac:Timer=new Timer(25);

sayac.addEventListener(TimerEvent.TIMER, tekrarla);
function tekrarla(e:TimerEvent) {
    //aci değişkeninin değerini birer birer arttırıyoruz.
    aci++;
    //aci degerine göre radyanı hesaplıyoruz.
    var aciRadyan:Number=aci*Math.PI/180;
    //Dairenin konturunu çizmek için sinüs ve kosinüs açılarını hesaplıyoruz.
    //başlangıç noktalarını belirlemek içinde merkezX ve merkezY değişkenlerinin değerinden 175 çıkardık.
    //Bu değer çizeceğimiz dairenin yarıçapı olacaktır, değeri değiştirerek dairenin çapınıda değiştirebiliriz.
    var a:Number=merkezX-175*Math.cos(aciRadyan);
    var b:Number=merkezY-175*Math.sin(aciRadyan);
    //Değişkenlerden aldığımız değerleri graphics sınıfının lineTo yöntemini kulllanarak
    //çizeceğimiz çizginin x ve y korrdinatlarına atıyoruz.
    graphics.lineTo(a,b);
    //Çizginin kontur kalınlığı ve kontur rengini belirliyoruz.
    graphics.lineStyle(1, 0xff0000);
    //Eğer açı değeri 360'ı geçerse sayacı durduruyoruz.
    if (aci==361) {
        sayac.stop();
    }
}

//Sayacı başlatıyoruz.
sayac.start();
Örnek çalışma dosyasını indirebilmek için siteye üye olmanız gerekmektedir. Siteye üye olmak için tıklayın.

, , , , ,

  1. Henüz hiç yorum yok.
(yayınlanmayacak)

Login with Facebook:
 

Additional comments powered by BackType