2 Şubat 2012 Perşembe

Flash AS3-Kronometre Yapımı

ActionScript 3.0 ile Timer kullanarak kronometre yapımını öğreneceğiz.
Öncelikle sahnemize Dynamic Text (Instance Name: oyunyapimcisi_txt) ve iki buton ekliyoruz. (Instance Name: Birisinin oynat_btn, diğerinin durdur_btn) olarak ayarlıyoruz. Daha sonra aşagıdaki kodlarımızı yazıyoruz:

var sayacTimer:Timer=new Timer(100);
sayacTimer.addEventListener(TimerEvent.TIMER,guncelleFCN);

var sayac:Number=0;
function guncelleFCN(evt:TimerEvent):void {
     sayac+=.1;
     sayac=(Math.round(sayac*10))/10;
     oyunyapimcisi_txt.text=String(sayac);
}

oynat_btn.addEventListener(MouseEvent.CLICK,startTimer),
durdur_btn.addEventListener(MouseEvent.CLICK,stopTimer);

function startTimer(evt:MouseEvent):void {
     sayacTimer.start();
}

function stopTimer(evt:MouseEvent):void {
     sayacTimer.stop();
}

Flash AS3-Flash'a Saat Eklemek

Bilgisayarın saat ve tarihi sayesinde sizde Flash'a bir saat ekliyebilirsiniz. Sadece bu bilgileri göstermekle kalmayıp kullandığımız sembollerin açılarını değiştirebilir, günün belirli zamanlarında farklı mesajlar verebiliriz. Hatta biraz daha abartıp farklı arkaplanlar kullanarak gündüz ya da gece saatlerinde uygulamanın arayüzünün farklı görünmesini sağlayabiliriz. Buradaki sınır hayal gücümüze kalıyor. Eğer kullanıcının bilgisayarındaki saat ve tarih yanlış ise uygulamamızda ki tarih ve saatte yanlış görüntülenecektir. Bunun sebebi ise ActionScript’in İstemci Taraflı bir kodlama dili olmasıdır.
Uygulamamızda tarih ve saat kısacası zaman ile ilgili bilgileri vermek istiyorsak Date() sınıfını kullanmamız gerekmektedir. Date sınıfı içerisinde bir çok veriyi barındırmaktadır. Bu tip veriler karmaşık veri tipi olarak isimlendirilirler. Date sınıfının hangi verileri barındırdığını görebilmek için aşağıdaki kodları Actions paneline yazalım.

[cc lang="ActionScript"]var zaman:Date = new Date();

trace(zaman)
[/cc]
Output paneline o anki zaman değerleri yazılacaktır. Bu değerler sırası ile Gün ismi, ay ismi, ayın kaçıncı günü olduğu, saat, GMT saatine göre yerel saat ve yıl bilgileridir. Görüldüğü gibi almak istediğimi bilgilere karmaşık bir şekilde ulaştık. Fakat bu bilgiler anlıktır. Dikkat ederseniz saatteki saniye değeri uygulama çalıştığı andaki saniye değerinde kalır ve değişmez, değişmesi için uygulamanın sürekli çalışması gerekmektedir. Bir de bu değerleri düzenleyerek kullanıcıya düzgün bir şekilde aktarmak gerekecek. Bu bilgileri istediğimiz formatta düzenleyebilmek için Date sınıfının metotlarını kullanabiliriz. Böylece oluşturduğumuz zaman nesnesinin içerisinden ihtiyacımız olan bilgileri alarak düzenleyebiliriz. Sınıfın içerisinden istediğimiz bilgileri almak için aşağıdaki metotları kullanabiliriz.
zaman.getDay();//Haftanın kaçıncı günü olduğunu verir.
//Haftanın ilk günü Pazar olarak verilmiştir. Yani haftanın 0. günü Pazar olarak kabul edilir.

zaman.getMonth();//Yılın kaçıncı ayında olduğumuzu verir.

zaman.getDate();//Ayin kaçıncı gününde olduğumuzu verir.
//Burada da 0 değer Ocak ayına eşittir.

zaman.getFullYear();//içinde bulnduğumuz yılı verir.

zaman.getHours();//saat bilgisini verir.

zaman.getMinutes();//dakika bilgisini verir.

zaman.getSeconds();//saniye bilgisini verir.

zaman.getMilliseconds();//milisaniye bilgisini verir.
Date sınıfının içerisinden istediğimiz bilgileri aldık. Sıra geldi bu bilgileri sürekli güncellenmesine; güncellemeyi sağlamak için Bir olay tetikleyiciye ihtiyacımız olacak. Olay tetikleyici olarak ENTER_FRAME ya da Timer kullanabiliriz. Ben bu uygulamada Timer kullandım.
Artık uygulamamızı oluşturabiliriz. İlk olarak sahne üzerine iki adet dinamik metin kutusu oluşturalım ve Instance Name kısımlarına tarih_txt ve saat_txt yazalım.
Uygulamamızda kullanacağımız nesneler bu kadar. Şimdi de Actions panelini açarak aşağıdaki kodları yazalım.
//bir Timer nesnesi oluşturuyoruz süre olarakta 1 milisaniye değerini giriyoruz
var sayac:Timer = new Timer(1);

//oluşturduğumuz timer nesnesine bir olay dinleyici atıyoruz
sayac.addEventListener(TimerEvent.TIMER, zamaniGoster);

function zamaniGoster(e:TimerEvent) {
 //zaman isimli yeni bir nesne oluşturuyoruz
 var zaman:Date= new Date();
 //içerisinde gün isimlerinin olduğu bir dizi oluşturuyoruz
 var gunler:Array=new Array("Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi");
 //ay isimlerinin içerisinde olduğu bir dizi oluşturuyoruz
 var aylar:Array = new Array("Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık");
 //kullanacağımız değişkenlerimizi tanımlamaya başlıyoruz.
 //tanımladığımız değişkenler haftanın kaçıncı gününde, yılın kaçıncı ayında,
 //ayın kaçıncı gününde olduğumuzgibi bilgileri içerecekler
 //bu değişkenleri kullanarak oluşturduğumuz dizilerin elemanlarını sahnedeki metin alanına yazdıracağız.
 var haftaninGunu = zaman.getDay();

 var hangiAy = zaman.getMonth();

 var ayinGunu = zaman.getDate();

 var yil = zaman.getFullYear();

 //zaman nesnesini kullanarak saat ile ilgili bilgileri alıp
 //tanımladığımız değişkenlere değer olarak atıyoruz
 //if koşullu ifadesi ile de gelen değerler 10'dan küçükse başına 0 ilave ediyoruz ki
 //değerler tek haneli olarak yazdırılmasın(Örn.= 3 yerine 03 vb.)
 var saat = zaman.getHours();
 if (saat<10) {
  saat="0"+saat;
 }
 var dakika = zaman.getMinutes();
 if (dakika<10) {
  dakika="0"+dakika;
 }
 var saniye = zaman.getSeconds();
 if (saniye<10) {
  saniye="0"+saniye;
 }
 //saat ile ilgili değerleri sahne üzerindeki saat_txt isimli metin kutusuna yazdırıyoruz
 //değerler arasına : ekleyerek birbirinden ayrılmasını sağlıyoruz.
 saat_txt.text=saat + " : " +dakika + " : "+  saniye;
 //tarih ile ilgili değerleri sahne üzerindeki tarih_txt isimli metin kutusuna yazdırıyoruz
 //değerler arasına boşluk ekleyerek değerlerin birbirinden ayrılmasını sağlıyoruz.
 tarih_txt.text = ayinGunu + " " + aylar[hangiAy] +" "+ yil+" " + gunler[haftaninGunu] ;
}
//sayacı çalıştırıyoruz
sayac.start();

İşte bu kadar.

Flash AS3-Ön Yükleyici(Preloader) Yapımı

Oyunlarımıza bir yüklenme ekranı yapmamız gerçekten hoş olabilir.Bunun için aşağıdaki yolu kullanarak Scene panelini açın ve mevcut sahnenizin üzerine yeni bir sahne ekleyerek ön yükleme işlemi için yeni oluşturduğunuz sahneye geçin.
Window > Othet Panels > Scene ( Shift+F2 )

2eoblmd Flash AS3 preloader yapımı

1 Şubat 2012 Çarşamba

Flash AS3:Yazdır Butonu Yapımı

 Bir MovieClip oluşturup.İnstance name'i yazdir_btn olarak girin.Ana sahneye dönün ve F9 a basıp şu kodları yazın.



 var yazdir:PrintJob = new PrintJob();

yazdir_btn.addEventListener (MouseEvent.CLICK, oyunyapimcisi);

function oyunyapimcisi (event:MouseEvent):void
{

yazdir.start();
}


İşte bu kadar.