sponsor adobe istanbul
Profili Göster

ActionScript 3 Dersleri-3 : Döngüler

Burak AYDIN Tarih: 9/05/2008 Yorum: 1 adet

Okunma : 812 Tutanlar: Bu yazıyı 1 kişi tuttu.

Bu dersimizde döngülere değineceğiz. Bir çok çalışmamızda döngüleri kullanacağız. Döngüler program her döndüğünde istenilen işlemleri yaptırmaya yarar.

FOR DÖNGÜSÜ:

Integer cinsinde getir adında bir değişken tanımlıyoruz.

var getir:int;

for( getir = 0′la; getir küçük eşit 50 olana dek; getire bir ekle ) şeklinde for dönügüsü kuruyoruz.

for (getir = 0; getir <= 50; getir++) 
{
    trace(getir);
}

Her döndüğünde son saymaya bir eklenmektedir. Böylece Output ekranına 1,2,3,4..50 şeklinde sayılar yazdırılır.

Yani getir sıfırdır. Bir ekle, yaz, bir ekle, yaz.. getir küçük eşit 50 olana dek.

Şimdi bu örneği ActionScript panelinden silip aşağıdaki kodları yazmaya başlayabilirsiniz.

var getir2:int;
for (getir2 = 0; getir2 < 10; getir2 ++) {

// Buraka kadar herşey aynıydı. Şimdi kütüphaneden topu 10 kez çekmeye ve sahnede düzenlemeye çalışacağız.

/* Bir top figürü çizin ve film klibine çevirin. İsmi mühim değil.

Kütüphaneyi açın ve film klibine sağ tıklayarak "Linkage" sekmesini tıklatın.

İlk seçenek olan Export for ActionScript çentiğini aktif edin. Üçüncü seneçek kendi kendine açılacaktır.

Class kutucuğuna top yazın. */

//Linkage ismi top olan sembolü gelenMc olarak tanımlıyoruz.

var gelenMc:top = new top();

// Topları sağa ve aşağı doğru çapraz dizilimle sıralayalım.

// Dizilim başlamadan önce birinci topumuzun x ve y eksenindeki konumunu girebilirim. 

 gelenMc.x = getir2 * gelenMc.width;

/* Program birinci kez döndüğünde gelecek olan topun x eksenindeki konumu: getir(0) ÇARPI gelenMc 'nin eni(100) */

gelenMc.y = getir2 * gelenMc.height;

// Program birinci kez döndüğünde gelecek olan topun y eksenindeki konumu, getir(0) ÇARPI gelenMc 'nin boyu = 100

 // ve bu değerlerle gelenMc 'yi sahneye ekle

addChild(gelenMc); //

/* Döngü burada sona eriyor. Yani yeniden başa dönüp herşeyi ikinci kez yapmaya şu andan itibaren başlıyor. İşte bu yüzden her seferinde son eklenen topun konumu  

[ gelenMc.x = getir * gelenMc.width; ]

[ gelenMc.y = getir * gelenMc.height; ]


'den dolayı 100 artarak değişiyor. Top için hem x hem de y ekseni 100 piksellik bir (topun eni ve boyu 100 'dür) artışla geri dönüyor. 

0(getir) * 100 = 0

1(getir) * 100 = 100

2(getir) * 100 = 200

3(getir) * 100 = 300

... 

50 * 100 

*/

}

/* Böylece toplar birbirine dayalı yanyana dizilecekler. Tabi aynı şeyler boylar içinde söz konusu olduğundan çapraz dizilim elde edeceğiz */ 

FOR.. IN :

Bir örnekte for in için yapalım. uyeler adında bir dizi oluşturuyoruz.

var uyeler:Array = ["burak", "hasan", "mehmet", "gokhan"];

For döngüsü ile dizi içeriğindeki nüfusu, sira adli string değişken olarak tanımlıyoruz(0,1,2,3). Böylece (0,1,2,3) ‘e kadar herkesi sırayla çağırabileceğiz.Tüm elemanları yazdırmak için uyeler dizisi ve her defasında oluşan sira ‘ yı kullanıyoruz;

for (var sira:String in uyeler)
{
    trace(sira); 

    trace(uyeler[sira]);
}

Output Panelindeki Çıktısı:

0 burak 1 hasan 2 mehmet 3 gokhan

Her dönüşte gelen >> uyeler[0], uyeler[1], uyeler[2], uyeler[3] dır.

FOR EACH.. IN :

var Obje:Object = {burak:20, hasan:30, mehmet:50};
for each (var degerler in Obje)
{
    trace(degerler);
}

WHILE :

var sayma:int = 0;
while (sayma <= 5)
{
    trace(sayma);
    sayma++;
}

DO WHILE :

var saymaIki:int = 5;
do
{
    trace(saymaIki);
    saymaIki++;

} while (saymaIki < 5);

Gördüğünüz gibi şart do while’da en sonda. Bu yüzden şart sağlanmasa bile döngü birkez gerçekleşir ve devam edilebilirlik için karar verilir diye biliyorum.

Ayrıca tüm döngülerde çalışacağını sandığım önemli bir komuttan bahsedeyim. break; Bu komutla döngüyü istediğimiz yerde durdurabiliriz.

While döngüsünü ele alalım. Koşullar kısmını doldurduğumuzu varsayıyorum (…) ardından yapılacaklar {… şeklinde açtığımız ayracın sonuna şartımızı yazıyoruz: Eğer i 3 ‘den daha büyük olduysa bitir yazalım;

if (i > 30) { break; }

ardından döngünün yapılacaklar kısmınıda kapatıyoruz }.

Yani,

var sayma2:int = 0;

while (sayma2 <= 5) 
{
    trace(sayma2);
    sayma2++;

    if (sayma2 > 2) 
    {
         break;
    }
}

Döngüler konusu daha ayrıntılıdır. İhtiyacınız olursa yardım dosyalarına bakınız (F1). Kolay gelsin..

aç-kapa İçeriğin rss beslemesi kullanımda değil Yorumlar

Profili Göster
NURAH YOK 13/05/2008

guzel anlatmisin kardes eline saglik

MMIstanbul Adobe UG MMIstanbul Adobe UG

adobe user group

ColdFusion, Flex, AIR, Flash, PDF, Dreamweaver, Fireworks, Photoshop, Illustrator, INdesign, Premiere, Soundbooth, Lightroom, InCopy, JRun, LiveCycle, Acrobat, AfteEffects, Resmi Adobe Kullanıcı Grubu.

yeni üyelik | şifremi unuttum

aç-kapa Konferans 2. Ulusal Yazılım Mimarisi Konferansı - UYMK'08

2. Ulusal Yazılım Mimarisi Konferansı - UYMK'08

2.Ulusal Yazılım Mimarisi Konferansı (UYMK’08), 11 – 12 Eylül 2008 tarihlerinde Ege Üniversitesi Bilgisayar Mühendisliği Bölümü ev sah...
Kategori: Konferans

aç-kapa Sergi İstanbul'da Bir Sürrealist: Salvador Dali

İstanbul'da Bir Sürrealist: Salvador Dali

Picasso ve Rodin’den sonra kimi görmek istersiniz deseler; Salvador Dali listenin ilk başlarında yer almaz mı? Ressam, yazar, bilim adamı, tasar...
Kategori: Sergi

aç-kapa Eğitim PAZARLAMA EĞİTİMLERİ

PAZARLAMA EĞİTİMLERİ

1-0 Eğitim Ajansı, eğitim programları Yer : Bir Sıfır Eğitim Danışmanlık Zaman Aralığı : Eylül – Ekim 2008 Adres : Çırağan Cad. Şahnisin Sok. No...
Kategori: Eğitim

aç-kapa Eğitim İLETİŞİM EĞİTİMLERİ

İLETİŞİM EĞİTİMLERİ

Kısa zamanda sektöre hızlı bir giriş yapan 1-0 Eğitim Ajansı iş hayatında kariyer yapmak isteyen katılımcılarını 1-0 öne geçirmeye devam ediyor. 1-0 ...
Kategori: Eğitim

aç-kapa Yarışma İnteraktif Pazarlama Zirvesi ve Grand Interactive Awards

İnteraktif Pazarlama Zirvesi ve Grand Interactive Awards

Türkiye’nin interaktif pazarlama projelerini değerlendiren ilk ve tek yarışması Grand Interactive Awards (GIA) için başvurular 15 Ağustos tarihi...
Kategori: Yarışma

üyeler Üyelerimizden...

stats Kimler Burada? web stats

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

coldfusion mysql ubuntu
 
sponsor adobe istanbul