İçeriğin rss beslemesi kullanımda değil Soru - Cevap Bölümü / Kategori: Programlama

12/12/2007 - 22:36:51 cevap (0) Okunma : 419 Bu yazıyı 0 kişi tuttu.

Library - Class - Baloncuk [AS3]

etiketler : flash as3 bublle baloncuk

[AS3] Library – Class – Boloncuk Yazar: Yağız Gürgül

Bu çalışmamızda rasgele büyüklükte, saydamlıkta ve konumda baloncuklar yapıcaz. Baloncuklarımızı kütüphaneden çağırıcaz , random komutlarını ise Class dosyasında yazıcaz.

Öncelik sahnemize bir yuvarlak çizelim. Bunu Movieclip yapalım Daha önceki makalemdeki gibi linkage bölümüne Boloncuk yazalım.

Birinci kare kodumuz:

var balon:Boloncuk = new Boloncuk();
addChild(balon);

Test ettiğinizde bir tane balon sahneye gelmiş durumda.Şimdi ise şu kodları yazalım:

for (var i:int=0; i<5; i++) {
    var balon:Baloncuk = new Baloncuk();
    addChild(balon);
    //
    balon.x=Math.random()*stage.stageWidth;
    balon.y=Math.random()*stage.stageHeight
}

Test ettiğinizde 5 tane balon rasgele konumlarda oluşacak.Bu noktada bir sınıf yazalım.Tüm bu rasgele komutlarını buraya koyalımki çalışma içindeki kod satırımız azalsın karışıklık önlensin ve daha sonraki çalışmalarımızda kolayca kullanalabilelim.

Sınıf kodumuz:

package {

    public class baloncuk {

        public function baloncuk (hedef:Object,sw:Number,sh:Number) {

            hedef.x=Math.random()*sw;
            hedef.y=Math.random()*sh;
            //
            hedef.alpha=Math.random()
            hedef.scaleX = hedef.scaleY = Math.random();
        }
    }
}

Bu dosyamızı baloncuk.as şeklinde kaydedelim.Tüm satırların anlamı:

1- package { ilk önce paket açılır.Bizim sınıf dosyamız tek klasörden oluştuğu için şu anda bir paket oluşturmamıza gerek yok.O yüzden boş bırakıyoruz

2- public class baloncuk { baloncuk adında bir sınıf açıyoruz.Burada public kelimesi önemli.Çünkü bu sayede Flash içinden ulaşabiliyoruz.

3- public function baloncuk (hedef:Object,sw:Number,sh:Number) { Flash’ta kullanacağımız fonksiyonu belirliyoruz.Fark ettiğiniz gibi sınıf ile aynı adı taşıyor. Bize kolaylık veriyor.Değişken kullanmadan sadece sınıf adı kullanarak bu fonksiyona ulaşabiliyoruz.Bunun adı Constructor’tır.

Toplam üç tane parametresi var.

    hedef:Object sw:Number sh:Number

ilk parametre sınıf içine göndereceğimiz objemiz(MovieClip, Simple Button, Sprite, Bitmap). ikinci parametre sahne genişliği belirliyor. Son parametre sahnenin yüksekliğini belirliyor.

4- hedef.x=Math.random()*sw; Hedef objemizin x kordinatındaki yerini belirliyor.Tek başına Math.random() satırı bize 0-1 arası rasgele bir sayı verir.Biz bu sayıyla sahne genişliğini çarpıyoruz.Bir nevi aralığı genişletiyoruz.Yani 0-sw kadar oluyor.

5- hedef.y=Math.random()*sh; Hedef objemizin y kordinatındaki yerini belirliyor.Tek başına Math.random() satırı bize 0-1 arası rasgele bir sayı verir.Biz bu sayıyla sahne yüksekliğini çarpıyoruz.Bir nevi aralığı genişletiyoruz.Yani 0-sh kadar oluyor.

6- hedef.alpha=Math.random(); Hedef objemizin saydamlığını belirliyor.Tek başına Math.random() satırı bize 0-1 arası rasgele bir sayı verir.Yeni gelen sistemle objelerin alpha değeri 0-1 arası değişiyor.O zaman tek başına Math.random(); ile rasgele saydamlığı ayarlayabiliriz.

7- hedef.scaleX = hedef.scaleY = Math.random(); Hedef objemizin büyüklüğünü belirliyor.Tek başına Math.random() satırı bize 0-1 arası rasgele bir sayı verir.Yeni gelen sistemle objelerin scale değerleri 0-1 arası değişiyor.O zaman tek başına Math.random(); ile rasgele saydamlığı ayarlayabiliriz.

Evet sınıfımız hazır.Şimdi ise Flash kodumuz:


import baloncuk;

for (var i:int=0; i<100; i++) {
    var balon:Baloncuk = new Baloncuk();
    addChild(balon);
    new baloncuk(balon, stage.stageWidth, stage.stageHeight);
}

Burada öncelikle sınıfımızı yüklüyoruz.Daha sonra döngüye sokuyoruz.Kütüphaneden gelen her objeyi sınıf içine sokuyoruz. Çalışmamızı test ettiğinizde karmaşık ama hoş bir görüntü elde ediyoruz 

Bir sonraki makalemde görüşmek üzere… Kolay gelsin…

kayıtlı cevap bulunmuyor.

aç-kapa Bu Yazıyı Tutanlar

bu yazıyı tutan kimse yok.

yeni üyelik | şifremi unuttum

aç-kapa Toplantı Kahraman ve need4code.com Projesi Connect Toplantısı

Kahraman ve need4code.com Projesi Connect Toplantısı

Selam arkadaslar, Programlama ile uğraşanların hayatlarını kolaylaştıracak desktop ve web tabanlı ortak iki proje ile ilgili 3. toplantımızı 3Aralık...
Kategori: Toplantı

aç-kapa Yarışma Fikir10000 Dijital Pazarlama Fikir Yarışması

Fikir10000 Dijital Pazarlama Fikir Yarışması

ADTECH tarafından düzenlenen Fikir10000 yarışmasına; dijital pazarlama ile ilgili size ait olan fikrinizle katılabilir ve 10.000 YTL’lik birinci...
Kategori: Yarışma

aç-kapa Yarışma 7Dx Demoscene Party

7Dx Demoscene Party

2002 yılından beri amatör bilgisayar kültürü ile ilgilenen insanları bir araya getirmeyi hedefleyen 7DX parti serisinin bu seneki ayağı olan 7D8 Demo ...
Kategori: Yarışma

aç-kapa Eğitim Türkiye'de İnternet Konferansı - Internet Teknolojileri Derneği -22-23 Aralık ODTÜ

Türkiye'de İnternet Konferansı - Internet Teknolojileri Derneği -22-23 Aralık ODTÜ

Etkin Katılım Çağrısı Türkiye’de Internet ile ilgili grupları biraraya getirerek İnternet’i tum boyutlarıyla tanıtmak, gelistirmek, tartı...
Kategori: Eğitim

aç-kapa Konferans Bilgi Güvenliği ve Kriptoloji Konferansı

Bilgi Güvenliği ve Kriptoloji Konferansı

Önemli Tarihler: Etkinlik Tarihi : 24-26 Aralık 2008 Son Bildiri Gönderme Tarihi : 20 Ekim 2008 Bildiri Kabul Tarihi Bildirimi :...
Kategori: Konferans

üyeler Son Kahramanlar...

stats Kimler Burada? web stats

Son 1 dakika içinde MMIstanbul' da 382 (1 kayıtlı, 381 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:

spinoza ...
coldfusion mysql ubuntu
 
sponsor adobe istanbul