hoSSohbeT.com  Sohbet  forumlari

Anasayfa Bugünki Mesajlar Forumları Okundu Kabul Et
Geri git   hoSSohbeT.com Sohbet forumlari > Bilgisayar ve İnternet Dünyası > Bilgisayar - İnternet > Bilgisayar Dünyası > Programlama
Kayıt ol Yardım Sohbet Gazete oku Diyetsaglik Üye Listesi Ajanda Arama Bugünki Mesajlar Forumları Okundu Kabul Et

Programlama Delphi , C , C++ , Qbasic , .NET Vb.Konular Hakkında Bilgi Alışverişi Yapabileceğiniz Bölüm



Cevapla
 
LinkBack Seçenekler Stil
Alt 03-09-08, 06:15   #1
Dokunma Yanarsın
 
aLayıNaiSyaN - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 04-02-08
Nerden: . . .
Mesajlar: 1,981
Tecrübe Puanı: 496 aLayıNaiSyaN 1000 aLayıNaiSyaN 1000 aLayıNaiSyaN 1000 aLayıNaiSyaN 1000 aLayıNaiSyaN 1000 aLayıNaiSyaN 1000 aLayıNaiSyaN 1000 aLayıNaiSyaN 1000 aLayıNaiSyaN 1000 aLayıNaiSyaN 1000 aLayıNaiSyaN 1000
Flashta Animasyonu Duraklatmak

Normalde kesintisiz devam eden sannedeki bir animasyonu istediğiniz karelerde istediğiniz süre kadar durmasını ve süre sonunda tekrar kaldığı yerden devam etmesini istiyorsanız bu ilginç getTimer fonksiyonunu kullanmalısınız.
Önce alttaki örneği izleyin. 80 karelik kesintisiz bir animasyon 40 ve 60. karelerde 5 sn duraklatılmaktadır.
Animasyonun detaylarına geçelim:
1- Yeni bir sayfa açın ve sahnenin en soluna bir daire çizin. Çift tıklayarak dairenin tamamını seçip F8`e basın ve davranış olarak grafik seçeneğini işaretleyin. 80.kareye bir keyframe ekleyin ve fare ile grafiği sahnenin en sağına taşıyın. 1.kareye sağ klik yapıp create motion tween komutunu verin. Kesintisiz animasyonumuz hazır.
2- Üst kısma yeni bir katman ekleyin. 40. kareyi seçin keyframe ekleyin ve sahneye burası 40. karedir gibi birşeyler yazın. 60. kareye bir keyframe ekleyip aynı işlemi uygulayın.
3- Tekrar 40 ve 60. kareleri seçip şu kodu yazın:
durmazamani=getTimer();
Daha öncede anlatıldığı gibi bir flash filmi başladığı an görülmez bir kronometre çalışır. getTimer komutu ile animasyonun herhangibir karesinden başlama anından o ana kadar geçen süre hesaplanır. Yukarıdaki komutla 40 ve 60. karede geçen süreler durmazamani adlı değişkene atanır.
4- İnsert-->New Symbol komutunu verin. Açılan panelden davranış olarak film klibini seçin. İşin tüm püf noktası bu kliptedir. Bu klibe sadece animasyonu duraklatma işlemini gerçekleştirecek scriptleri koyacağız. Yani boş bir klip olacak.
Bu tür boş klibe yazılan scriptlerle animasyonu idare etme örneklerine sıkça rastlayacaksınız. Mouse efektleri genelde bu plan üzerinden çalışırlar.
5- Boş film klibini açıp 1.kareye şu komutları yazın:
anadurmazamani = _level0.durmazamani;
ara = 5000;
_level0.stop();
if (getTimer() >= (ara + anadurmazamani)) {
_level0.play();
}

Bu komutları az sonra açıklayacağız. Şimdi klibin 2. karesine bir frame ekleyin. Bu çok önemli bir noktadır. Şayet tek karede bırakırsanız komutlar bir kez okunacak ve _level0.stop kısmında takılıp kalacaktır. 2. kare eklenmesi bir döngü sağlayacak ve komut tekrarı oluşacaktır. Şimdi açıklamalar:
anadurmazamani = _level0.durmazamani; Burada durmazamani değişkeninin aldığı değer anadurma zamani adlı başka bir değişkene atanıyor. Şayet bu durma işlemi animasyon boyunca 1 kez yapılacak olsa idi bu eklentiye gerek kalmayacaktı. _Level0 sahnedeki animasyonu gösterir. Bu alana _root` da yazılabilirdi.
ara = 5000; Burada animasyonun duracağı süre belirlenir. getTimer milisaniye cinsinden sonuç verdiğinden bu değer 5 saniyeye eşit bir değerdir.
_level0.stop(); Değişkenler belirlendikten sonra stop komutu ile animasyon durduruluyor.
if (getTimer() >= (ara + anadurmazamani)) {
_level0.play();
}
Şayet geçen zaman= 5sn + animasyonun durduğu andaki saniye toplamına eşit olursa animasyonu başlat anlamında kullanılmıştır.
anadurmazamani, flash oynatma kafası her 40 ve 60. kareleri geçtiğinde belirlenen durmazamani değişkeninin değerini aldığından döngü devam ettikçe sorunsuz çalışacaktır. Başta da dediğim gibi bu değişkeni kullanmayıp sadece durmazamani komutunu kullansa idik animasyondaki duraklama sadece 1 kez gerçekleşecek idi. Bunu denemek için aşağıdaki komutları kopyalayıp boş film klibi 1.karesine yapıştırın.
_level0.stop();
ara = 5000;
if (getTimer() >= (ara + durmazamani)) {
_level0.play();
}

6- CTRL+Enter`a basıp filminizi test edin.
__________________
aLL Hope iS Gone

aLayıNaiSyaN isimli Üye şimdilik offline konumundadır  
Digg this Post!Bookmark Post in Technorati
Alıntı ile Cevapla
Cevapla

  • Submit Thread to Digg Digg
  • Submit Thread to del.icio.us del.icio.us
  • Submit Thread to StumbleUpon StumbleUpon
  • Submit Thread to Google Google
  • Bookmarks

    Seçenekler
    Stil

    Yetkileriniz
    You may not post new threads
    You may not post replies
    You may not post attachments
    You may not edit your posts

    BB code is Açık
    Smileler Açık
    [IMG] Kodları Açık
    HTML-KodlarıKapalı
    Trackbacks are Açık
    Pingbacks are Açık
    Refbacks are Açık



    Bütün Zaman Ayarları WEZ olarak düzenlenmiştir. Şu Anki Saat: 17:50 .


    Powered by vBulletin Version 3.8.7
    Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
    Search Engine Friendly URLs by vBSEO 3.5.0 RC2
    Sohbet ve Sohbet odalari sitesi

    Sohbet Chat Forum Oyunlar1