Örnek: Animasyon portföyü parçası (Flash Professional)

Bu örnek, ActionScript bit'lerini tam bir uygulamada nasıl bir araya getirebileceğini görmeniz için size ilk fırsatı sunmak üzere tasarlanmıştır. Animasyon portföyü varolan doğrusal bir animasyonu alıp, nasıl bazı küçük etkileşimli öğeleri ekleyebileceğinizin bir örneğidir. Örneğin, bir istemci için oluşturulmuş animasyonu bir çevrimiçi portföye dahil edebilirsiniz. Animasyona ekleyeceğiniz etkileşimli davranış, izleyenin tıklatabileceği iki düğmeyi içerir: bu düğmelerden biri animasyonu başlatmak ve biri de ayrı bir URL'ye (örn. portföy menüsü veya yazarın ana sayfası) gitmek içindir.

Bu parçayı oluşturma işlemi şu ana bölümlere ayrılabilir:

  1. ActionScript ve etkileşimli öğeler eklemek için FLA dosyasını hazırlama.

  2. Düğme oluşturma ve ekleme.

  3. ActionScript kodu yazma.

  4. Uygulamayı test edin.

Etkileşim eklemeye hazırlama

Animasyonunuza etkileşimli öğeler eklemeden önce, yeni içeriğinizin ekleneceği bazı konumlar oluşturarak FLA dosyasını ayarlamanız fayda sağlar. Bu görev, düğmelerin yerleştirileceği Sahne Alanı'nda gerçek alan oluşturmayı içerir. Ayrıca farklı öğeleri ayrı tutmak için FLA dosyasında “boşluk” oluşturmayı da içerir.

FLA'nızı etkileşimli öğeler eklemek üzere ayarlamak için:

  1. Tek ara hareket veya şekil arası gibi basit bir animasyon ile FLA dosyası oluşturun. Bir projede sunduğunuz bir animasyonu içeren FLA dosyasına zaten sahipseniz, o dosyayı açın ve yeni bir adla kaydedin.

  2. İki düğmenin ekranın neresinde görüntülenmesini istediğinize karar verin. Bir düğme, animasyonu başlatmak, diğeri ise yazar portföyüne veya ana sayfaya bağlantı vermek içindir. Gerekirse, bu yeni içerik için Sahne Alanı'nda bazı boşlukları temizleyin veya Sahne Alanı'na bazı boşluklar ekleyin. Animasyonda yoksa, ilk karede bir başlangıç ekranı oluşturabilirsiniz. Bu durumda, büyük olasılıkla Kare 2'de veya daha sonraki bir noktada başlaması için animasyonu kaydırmak isteyebilirsiniz.

  3. Zaman Çizelgesi'nde diğer katmanların üzerine yeni bir katman ekleyin ve bunu düğmeler olarak adlandırın. Bu katman, düğmeleri ekleyeceğiniz yerdir.

  4. Düğmeler katmanının yukarısına yeni bir katman ekleyin ve bu bunu eylemler olarak adlandırın. Bu katman, uygulamanıza ActionScript kodunu ekleyeceğiniz yerdir.

Düğme oluşturma ve ekleme

Ardından, etkileşimli uygulamanın merkezini oluşturan düğmeleri oluşturup yerleştirirsiniz.

Düğmeleri oluşturup FLA dosyasına eklemek için:

  1. Çizim araçlarını kullanarak, düğmeler katmanındaki birinci düğmenizin ("oynat/çal" düğmesi) görsel görünümünü oluşturun. Örneğin, en üst kısmında metnin yer aldığı yatay bir oval çizin.

  2. Seçim aracını kullanarak tek bir düğmenin tüm grafik parçalarını seçin.

  3. Ana menüden Değiştir > Sembole Dönüştür seçeneklerini belirleyin.

  4. İletişim kutusunda sembol türü olarak Düğme seçeneğini belirleyin ve sembole bir ad verip Tamam'ı tıklatın.

  5. Düğme seçili durumdayken, Özellik denetçisinde düğmeye playButton örnek adını verin.

  6. İzleyeni, yazarın ana sayfasına götüren düğmeyi oluşturmak için 1 ile 5 arasındaki adımları yineleyin. Bu düğmeye homeButton adını verin.

Kod yazma

Tümüne aynı yerden girilse de, bu uygulamanın ActionScript kodu üç işlev kümesine ayrılabilir. Kodun gerçekleştirdiği üç işlem şunlardır:

  • SWF dosyası yüklendiği anda (oynatma kafası Kare 1'e girdiğinde) oynatma kafasını durdurma.

  • Kullanıcı oynat/çal düğmesini tıklattığında SWF dosyasının oynatılmaya başlaması için bir olayı dinleme.

  • Kullanıcı yazarın ana sayfası düğmesini tıklattığında tarayıcıyı uygun URL'ye göndermek için bir olayı dinleme.

Kare 1'e girdiğinde oynatma kafasını durdurmak için kod oluşturma:

  1. Eylemler katmanının Kare 1'inde anahtar kareyi seçme.

  2. Eylemler panelini açmak için, ana menüden Pencere > Eylemler seçeneklerini belirleyin.

  3. Komut Dosyası bölmesinde şu kod girin:

    stop();

Oynat/çal düğmesi tıklatıldığında animasyonu başlatmak üzere kod yazmak için:

  1. Önceki adımlarda girilen kodun sonuna iki boş satır ekleyin.

  2. Komut dosyasının alt kısmına şu kodu girin:

    function startMovie(event:MouseEvent):void 
    { 
        this.play(); 
    }

    Bu kod, startMovie() adında bir işlevi tanımlar. startMovie() çağrıldığında, ana zaman çizelgesinin oynatılmaya başlanmasını sağlar.

  3. Önceki adımda eklenen kodun ardından gelen satıra bu kod satırını girin:

    playButton.addEventListener(MouseEvent.CLICK, startMovie);

    Bu kod satırı, playButton öğesinin click olayının dinleyicisi olarak startMovie() işlevini kaydeder. Başka bir deyişle, playButton adındaki düğme her tıklatıldığında startMovie() işlevinin çağrılmasını sağlar.

Ana sayfa düğmesi tıklatıldığında tarayıcıyı bir URL'ye göndermek üzere kod yazmak için:

  1. Önceki adımlarda girilen kodun sonuna iki boş satır ekleyin.

  2. Komut dosyasının alt kısmına bu kodu girin:

    function gotoAuthorPage(event:MouseEvent):void 
    { 
        var targetURL:URLRequest = new URLRequest("http://example.com/"); 
        navigateToURL(targetURL); 
    }

    Bu kod, gotoAuthorPage() adında bir işlevi tanımlar. Bu işlev öncelikle http://example.com/ URL'sini temsil eden bir URLRequest örneği oluşturur. Daha sonra bu URL'yi navigateToURL() işlevine aktarır ve kullanıcı tarayıcısının bu URL'yi açmasına neden olur.

  3. Önceki adımda eklenen kodun ardından gelen satıra bu kod satırını girin:

    homeButton.addEventListener(MouseEvent.CLICK, gotoAuthorPage);

    Bu kod satırı, homeButton öğesinin click olayının dinleyicisi olarak gotoAuthorPage() işlevini kaydeder. Başka bir deyişle, homeButton adındaki düğme her tıklatıldığında gotoAuthorPage() işlevinin çağrılmasını sağlar.

Uygulamayı test etme

Bu uygulama artık tamamen işlevseldir. Emin olmak için durumun böyle olup olmadığını test edelim.

Uygulamayı test etmek için:

  1. Ana menüden, Kontrol Et > Filmi Test Et seçeneklerini belirleyin. Flash Professional, SWF dosyasını oluşturur ve bir Flash Player penceresinde açar.

  2. Beklediğiniz işlemi gerçekleştirdiklerinden emin olmak için her iki düğmeyi de deneyin.

  3. Düğmeler çalışmazsa, kontrol etmeniz gereken şeyler şunlardır:

    • Düğmelerin belirgin örnek adları var mı?

    • addEventListener() yöntemi çağrıları, düğmelerin örnek adlarıyla aynı adları mı kullanıyor?

    • addEventListener() yöntemi çağrılarında doğru olay adları kullanılıyor mu?

    • İşlevlerin her biri için doğru parametre belirtilmiş mi? (Her iki yöntem için de MouseEvent veri türünde tek bir parametre gerekir.)

    Tüm bu hatalar ve meydana gelmesi olası diğer hataların çoğu bir hata iletisinin verilmesine yol açar. Hata iletisi, Filmi Test Et komutunu seçtiğinizde veya projeyi test ederken düğmeyi tıklattığınızda görüntülenebilir. Derleyici hataları (Filmi Test Et'i ilk seçtiğinizde meydana gelen) için Derleyici Hataları paneline bakın. İçerik oynatılırken, örneğin bir düğmeyi tıklattığınızda oluşan çalışma zamanı hataları için Çıktı Paneli'ne bakın.