Zoque.Forum
Dirsek Teması:
Geri Dön Zoque.Forum » Tasarımcının Mutfağı » Flash, AIR, Flex, Silverlight » ActionScript ve Arşiv Bölümü » [Tutorial & Yazı] Flash MX ile Saat ve Tarih Göstergesi


Yanıt
 
LinkBack Seçenekler
Old 20.03.2004   #1 (permalink)
 
pixage's Avatar
 
Üyelik Tarihi: 08.08.2001
Yer: istanbul
Yaş: 28
Mesaj: 844
Görsel: 3
[Tutorial & Yazı] Flash MX ile Saat ve Tarih Göstergesi




Ön bilgi : Aşağıdaki tutorial-yazı Macline dergisi Mart sayısında çıkan yazımın buraya entegre edilmiş halidir.

flash MX ile Zaman Öğelerini Kullanarak Saat ve Tarih Göstergesi .

Her insan için, Zaman ve saatlerimizdeki öğelerin konumu büyük önem taşır. Nerede olursak olalım hep saatlerin hangi zamanı gösterdiğini bilmek, öğrenmek ihtiyacı duyar, Zamana göre hareket edip, hayatın akıcılığında geri kalmamak isteriz. Bir multimedya tasarımcısı ve programcısı içinde; zamansal verilere ulaşmak ve bu verileri işleyerek projenin akışını doğal koşullara uygun yönetebilmek oldukça hoş sonuçlar verebilecek bir durumdur. Şu an aklıma gelen bir fikri örnek olarak göstermek gerekirse, İçinde bir oda görüntüsü olan bir projede, odadaki duvar saatinin gerçek zamanı gösteriyor olması ne kadar da etkileyici olurdu değil mi.

Bu ay ki konumuzda, flash MX ve ActionScript kullanarak işte bu ihtiyaçlarımıza cevap verecek bilgiye sahip olmamızı amaçlıyor. Çalışmamıza başlamadan önce, çalışmanın başlangıç aşaması ve tamamlanmış dosyalarını içeren Zip dosyasını buradan indirmenizi tavsiye ederim. Bu sıkıştırılmış dosya içerisinde tasarım aşaması yapılmış, programlamaya hazır olan bir başlangıç dosyası ve bitmiş proje olan sonuç dosyasını bulabilirsiniz.

< -- saat gorsel.tif -- >

Tasarım ve Kodlamaya Hazırlık

Öncelikle; biri mekanik saat diğeri tarih göstergesini içerecek şekilde iki tane ayrı movieclip oluşturun ve içlerine görsel tasarımlarını yapın.
Mekanik saat movieclip’inde; akrep, yelkovan ve saniye oklarını ayrı movieclipler olarak düzenleyin ve merkez noktalarını saatin merkezine konumlandırın. Bu üç movieclibin Instance Name (Tanımlama Adı) kısımlarını; akrep, yelkovan ve saniye olarak isimlendirin. (Bu tanımlama, movieclipleri ActionScript üzerinden yönetebilmemizi sağlayacak.)
Tarih göstergesine ise; iki adet dinamik text alanı oluşturun, bunlardan biri “02 Mart 2004” şeklinde tarihi içerecek diğeri ise o günün adını örn. “PAZARTESİ” içerek. Bu dinamik metin alanlarının Var (variables) alanına “ tarihString “ ve “ gunString “ yazın.


Şimdi Sahne’ye dönün , kodlamaya başlıyoruz
Kodlamaya Geçiş

Ana Sahne (Scene1) üzerinde mekanik saat movieclib’ini seçin, ve F9 tuşu ile aktif hale getirebileceğiniz Actions Paneline aşağıdaki kodları girin.

Kod:
onClipEvent(enterFrame) {
	myDate = new Date();
	akrep._rotation = myDate.getHours()*30+(myDate.getMinutes()/2);
	yelkovan._rotation = myDate.getMinutes()*6+(myDate.getSeconds()/10);
	saniye._rotation = myDate.getSeconds()*6;
} ;
isterseniz bu kodları biraz inceleyelim.

onClipEvent(enterFrame) { };

İçine yazılan kodların, Ana filmin frame Rate (kare oynatım hızı) hızında çalıştırılacağını ifade eder. ( Örn : frame Rate = 20 ise bu; kod saniyede 20 kere tekrarlanacak demektir.)

myDate = new Date();

ActionScript’te zaman ile ilgili bütün veriler Date() nesnesinden temin edilir. Ve bir işlem yapmadan önce bu nesneyi bir değişkene atamamız gereklidir.

akrep._rotation = myDate.getHours()*30+(myDate.getMinutes()/2);

bu kod ile, akrep isimli movieclip’in rotasyon (dönme açısı) değerini o anki saat ve dakika verilerine göre ayarlamış oluyor ve akrebin saat üzerinde doğru konumda olmasını sağlıyoruz.
Bu kod içindeki getHours() saat değerini, getMinutes ise dakika değerini verir.
Normalde myDate.getHours() * 30 kullanarak (daire 360 dereceli açıya sahip olduğundan ve 360/12=30 olduğundan) akrepin tam saat sayısının üzerinde olmasını sağlayabilirdik, ama daha gerçekçi bir görüntü vermek için saatin konumuna (her saat arası açı uzaklığı = 30 derece , 60dakika/30 = 2 olduğundan) o anki dakika değerinin yarısı kadar bir değer ekliyoruz.
Bu durum aynı mantıkla, 4. ve 5 . kod satırlarında da devam eder.

Şimdi Tarih Göstergesi movieclib’ine tıklayıp yine Actions paneline aşağıdaki kodları ekleyin.

Kod:
onClipEvent(enterFrame) {
	Tarihim = new Date();

	Gun = Tarihim.getDate();
	Ay = Tarihim.getMonth();
	Yıl = Tarihim.getFullYear();
	HaftalikGun = Tarihim.getDay();
	
	Aylar = new Array("OCAK","ŞUBAT","MART","NİSAN","MAYIS","HAZİRAN","TEMMUZ","AĞUSTOS","EYLÜL","EKİM","KASIM","ARALIK");
	AyString = Aylar[Ay];
	
	Gunler = new Array("PAZAR","PAZARTESİ","SALI","ÇARŞAMBA","PERŞEMBE","CUMA","CUMARTESİ");
	gunString = Gunler[HaftalikGun];
	tarihString = Gun + " " + AyString + " " + Yıl;
	
}
Bu kodun 3,4,5 ve 6. satırlarında;
Ayın kaçıncı gününde olduğumuz, Yılın kaçıncı ayında olduğumuz, Kaçıncı yılda olduğumuz ve Haftanın kaçıncı gününde olduğumuz bilgilerini sonraki satırlarda kullanmak üzere ilgili değişkenlere tanımlamış oluyoruz.
Onu takip eden, 7. satırda, Ay isimlerini Aylar isimli bir dizi değişkene sırasıyla yazıyoruz.
8. satırda ise, Ay değişkeninin değerini bu dizi değişken sıralamasında aratıyor ve çıkan sonucu AyString isimli değişkene atıyoruz. Örn. 4. ayda isek, AyString’in değeri 4.sıradaki “NİSAN” olacaktır.
Sonraki 9 ve 10. satırlardaki kodlarda aynı mantıkla Haftanın hangi gününde olduğumuzu yazı olarak elde etmemizi sağlıyor.
Son satırda ise, tarihString değişkenine “02 MART 2004” gibi bir sonuç elde edebilecek şekilde değişkenleri ardaşık olarak topluyoruz.

Artık çalışmamızı tamamladık ve kullanılabilir hale getirdik. “Ctrl+Enter” komutu ile projenizi test edebilirsiniz. Zamana hakim olacağınız uzun yıllar dileğiyle ...
Ekli Dosya(lar)
Dosya Uzantısı: jpg konu-resmi.jpg (13.4 KB, 105 defa görüntülendi)
Dosya Uzantısı: jpg variables.jpg (7.0 KB, 101 defa görüntülendi)
Ekli Dosyalar (Kullanmadan önce virüs taramasından geçiriniz)
Dosya Uzantısı: zip saat_tutorial.zip (58.6 KB, 60 defa görüntülendi)
__________________
Ars longa vita brevis *
pixage.net:geometrik senfoni | işleyenkulak:kulaklar pas tutmasın
flickr:bir insan bin enstantane | macline:mac'te multimedya
pixage şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 21.03.2004   #2 (permalink)
 
gravity's Avatar
 
Üyelik Tarihi: 04.10.2003
Yer: izmir
Yaş: 30
Mesaj: 621
Görsel: 1
Re: [Tutorial & Yazı] Flash MX ile Saat ve Tarih Göstergesi

Hocam çok güzel olmuş, ellerine sağlık umarım senin tutorial flash bölümünde actionscript alt başlığı açılmasına vesile olur (olabilir mi @zoque?..) ve devamını getiririz.

Saygılar...
__________________
.
» Kişisel:. www.coolkey.net » Kurumsal:. www.programa.com.tr
gravity şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Sponsorlu Bağlantılar
Zoque.Forum
Reklam
Yanıt

Etiketler

gostergesi , tarih , saat , flash , yazi , tutorial


 
Zoque'a hoşgeldiniz!
Zoque 27.02.1999 tarihinde yayın hayatına başlamış, paylaşıma dayalı bir oluşumdur. Tasarım, teknoloji, web, kültür ve sanat ana başlıkları altında bilgi paylaşımı ve benzer değerlere sahip katılımcıların birbirleriyle iletişime girmelerine imkan sağlar. "Az ama Öz" sloganından yola çıkarak, kaliteli ve nitelikli katılımı temel alır.

Saygın ve ciddi bir ortamda yardımlaşmak, haberleşmek, kendi bildiklerini diğer katılımcılarla paylaşmak isteyen, oluşumumuza düzenli katılımda bulunacağı inancını taşıyan konuklarımızı üye olmaya davet ediyoruz. [ » ]


Üye Girişi:

En popüler ilk 100 etiket
Tag Cloud
acil adsl ajax almak arama araniyor ariyorum ariyoruz asp bilen bilgi bilgisayar blog calisma canon css dijital div domain dosya eleman film firefox flash font form forum fotograf freelance google gore grafik grafiker hakkinda hangi hata hatasi hosting html ilgili ilk image internet istanbul istiyorum java javascript karakter kayit kisisel kullanimi link logo mac mail menu muzik mysql nasil neden nedir online photoshop php problemi program programi reklam resim satilik sayfa script server ses sistemi site sitesi son soru sorun sorunsali sorunu sql swf tasarim tasarimci tasarimcisi tasarimi turk turkce veri video web windows wordpress xml yardim yazi yeni zoque
Zoque RSS Aboneliği
Son eklenen konuları e-posta ile haber verelim mi?

Forum Yazılımı: vBulletin® Version 3.7.4 Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

Arayüz/Skin "Güneş" © www.zoque.com / net. Copyright © 1999 - 2008
Forum Saati GMT +2. Şu anda saat: 16:34.