AS3 Popup Penecere

AS3 Popup Penecere
Merhaba arkadaşlar…


Şimdi bir popup_pencere örneğini anlatacam elimden geldiği kadar.
Bende bugün başladım.AS3 scripte.Öğrendiğim kadarıyla anlatmaya
çalışacam sizlere.
Şimdi ilk olarak File-New-Flash File(Action Script3) olarak yeni
bir sayfa açalım.Sonra bir kare çizelim.Bunu f8 tuşu ile Movie
Clip’e çevirelim.Sonra bu Movie Clip seçiliyken Properties penceresinden
İnstance Namesine ” bt ” diye yazalım.
Tekrar birtane daha kare çizelim 300-200 örneğin.Bu kareyi seçelim
f8 tuşuna basın.Açılan pencereden Movie clipi seçin orayada main yazın.Ve şimdi ana sahneyle ilgili kodlarımızı yazalım.
KOD:

bt.addEventListener(MouseEvent.CLICK,tiklama);
function tiklama(e:MouseEvent) {
main.visible = true
main.x = 48.0
main.y = 124.2
bt.enabled = false
}
main.visible = false

Şiımdi buradaki benim anladığım kadarını anlatayım 1 günlük bilgiyle :)
bt(butonumuzun instance namedeki adı).addEventListener(MouseEvent.CLICK(Obje tıklanınca yani buton tıklanınca),tiklama(değer atıyoruz));
function tiklama(değer atıyoruz)(e:MouseEvent) {
main.visible = true (ana sahnedeki main penceremiz tıklanınca aktif olsun)
main.x = 48.0 (x kordinatı)
main.y = 124.2 (y kordinatı)
bt.enabled = false
}
main.visible = false (main penceremizin instance namesindeki isim ana sahnedeyken aktif olmasın anlamına geliyor)

Ana sahneyle işimiz bitti.Sıra geldi popup penceremizin içine girmeye.Yani instance namesi main olan pencerenin içine girelim.
Şimdi bir tane popup pencereyi kapatma için bir kare çizin f8 tuşuna basarak movie clip yapın.İnstance namesinede kapat diye isim verin.
Sonra popup penceremizi simge durumuna küçültmek için bir buton yapalım.Tekrar bir kare çizelim f8 tuşuna basak bir movie clip daha yapalım.İnstance nanemsinde de simge_ac yazın.
Bir tanede popup pencereyi taşımak için bir surukle adında bir mc yapın.Bi kare çizin bu kareyi f8 tuşuna bas movie clipi seç surukle yaz tamam de.İnstance namesine de surukle yaz.
sonra kodumuzu yazalım.
KOD:

stop ();
kapat.addEventListener(MouseEvent.CLICK,kapat1);
function kapat1(e:MouseEvent) {
kapat.enabled = true
MovieClip(root).main.visible = false
}
simge_ac.addEventListener(MouseEvent.CLICK,simge_ac1);
function simge_ac1(e:MouseEvent) {
gotoAndStop(2);
}
surukle.addEventListener(MouseEvent.MOUSE_DOWN,surukle1);
function surukle1(e:MouseEvent) {
this.startDrag();
}
surukle.addEventListener(MouseEvent.MOUSE_UP,birak);
function birak(e:MouseEvent) {
this.stopDrag();
}

Yukarıdaki kodları anlatmaya çalışayım arkadaşlar.
kapat(butonumuzun instance namedeki adı).addEventListener(MouseEvent.CLICK(Obje tıklanınca yani buton tıklanınca),kapat1(değer atıyoruz));
function kapat1(
değer atıyoruz)(e:MouseEvent) {
kapat.enabled = true

MovieClip(root).main.visible = false(kapat butonuna bastığımız zaman main penceresini kapat anlamına geliyor. AS2 DE biz _root.main._visible=false diye kullanıyorduk.AS3 TE kullanma şekli ise _root’un yerini MovieClip(root) aldı. )

}

simge_ac(butonumuzun instance namedeki adı).addEventListener(MouseEvent.CLICK(Obje tıklanınca yani buton tıklanınca),simge_ac1(değer atıyoruz));
function simge_ac1(değer atıyoruz)(e:MouseEvent) {
gotoAndStop(2); (bu kodu AS2 DEN hatırlıyoruz zaten frame 2′ye git dur anlamına geliyor)
}

surukle.addEventListener(MouseEvent.MOUSE_DOWN,surukle1);
function surukle1(e:MouseEvent) {
this.startDrag();
}
surukle(butonumuzun instance namedeki adı).addEventListener(MouseEvent.MOUSE_DOWN(Obje basılınca yani butona bastığımızda),surukle1(değer atıyoruz));
function surukle1(değer atıyoruz)(e:MouseEvent) {
this.startDrag();(taşıma anlamına geliyor diye biliyorum ben :)
}
surukle.addEventListener(MouseEvent.MOUSE_UP,birak);
function birak(e:MouseEvent) {
this.stopDrag();
}

surukle(butonumuzun instance namedeki adı).addEventListener(MouseEvent.MOUSE_UP(Objeye basılıp bırakılınca butona Objeye basılıp bırakılınca ),birak(değer atıyoruz));
function birak(değer atıyoruz)(e:MouseEvent) {
this.stopDrag();(taşıma anlamına geliyor diye biliyorum ben :)
}

şimdi popup pencerenin içinde ikinci frameyi yap yani birinci frameye gel seç birinci frameyi f6 tuşuna bas ikinci frame oluştu.
Burayada simge_ac diye buton yapmıştık ya.O butonu seçin instance namesinde simge_ac diye isim yazıyor onu silin yerine simge_kapat yazın.Ve ikinci frameyi seçin yada f9 tuşuna basın kod kaynağına da aşağıdaki kodları yazın.
KOD:

stop ();
simge_kapat.addEventListener(MouseEvent.CLICK,simge_kapat1);
function simge_kapat1(e:MouseEvent) {
gotoAndStop(1);
}

simge_kapat(butonumuzun instance namedeki adı).addEventListener(MouseEvent.CLICK(Obje tıklanınca yani buton tıklanınca),simge_kapat1(değer atıyoruz));
function simge_kapat1(
değer atıyoruz)(e:MouseEvent) {
gotoAndStop(1); (
bu kodu AS2 DEN hatırlıyoruz zaten frame 1′ye git dur anlamına geliyor)
}

Valla arkadaşlar elimden geldiği kadar anlatmaya çalıştım inşallah anlamışsınızdır.Kusura bakmayın ilk öğrendiğim günüm.Eksiklerim varsa hoş görün.Ama örnek kesin çalışıyor.Ben test ettim.Kendi elimle AS2 den AS3 e çevirmeye çalıştım.İndirmek için DOWNLOAD linkini kullanın.
NOT: Kodları eksiksiz kopyala yapıştır yada eksiksisiz yazın kodlar kesin çalışıyor.
DOWNLOAD 
Saygılarımla

VN:F [1.9.11_1134]
Rating: 9.2/10 (5 votes cast)
AS3 Popup Penecere, 9.2 out of 10 based on 5 ratings

3 Responses to “AS3 Popup Penecere”

  1. avatar Omer diyor ki:

    Flash xml den dogru mc ustune resim cagırmak istiyorum fakat kodlarını bulamadım yardımcı olursanız sevinirim suan da yazmıs oldugum kodlar sunlar.

    satir=1;
    sutun=1;

    ////////////////////////
    System.useCodepage = true;
    function yukle() {
    var db:XML = new XML();
    _global.db=db;
    db.ignoreWhite = true;
    db.load(“icerik.xml”);
    db.onLoad = function(yuklendi) {
    if(yuklendi) {
    duzenle();
    cogalt(0);
    }
    }
    }
    ////////////////////////
    function duzenle() {
    _global.sayfada_gosterilicek_mc = satir*sutun;
    _global.sayfa_bas=0;
    _global.sayfa_son=0
    _global.toplam_veri = db.firstChild.childNodes.length;
    _global.toplam_sayfa= Math.ceil(toplam_veri/sayfada_gosterilicek_mc);
    _global.sayfa_no = 0;
    }
    ////////////////////////
    function cogalt(sayfa_no:Number) {
    sayfa_bas=sayfa_no*sayfada_gosterilicek_mc;
    sayfa_son=(sayfa_no*sayfada_gosterilicek_mc)+sayfada_gosterilicek_mc;
    var j:Number = 0;
    for(i=sayfa_bas; i<sayfa_son; i++) {
    if(i<toplam_veri) {
    var yeni_mc:MovieClip = icerik_mc.duplicateMovieClip("icerik_mc"+i,i);
    yeni_mc._x=j%sutun*(icerik_mc._width)+icerik_mc._x;
    yeni_mc._y=Math.floor(j/sutun)*(icerik_mc._height)+icerik_mc._y;

    yeni_mc.baslik_txt.text = db.firstChild.childNodes[i].childNodes[0].firstChild.nodeValue.toString();
    yeni_mc.detay_txt.text = db.firstChild.childNodes[i].childNodes[1].firstChild.nodeValue.toString();
    yeni_mc.resim_txt.text = db.firstChild.childNodes[i].childNodes[1].firstChild.nodeValue.toString();
    j++

    }
    }
    buton_kontrol();
    }
    ////////////////////////
    function sil() {
    for(i=sayfa_bas; i<sayfa_son; i++) {
    removeMovieClip(this["icerik_mc"+i]);
    }
    }
    ////////////////////////
    function buton_kontrol() {
    geri_bt.onRelease = function() {
    sil();
    sayfa_no–;
    cogalt(sayfa_no);
    trace(sayfa_no);
    }
    ileri_bt.onRelease = function() {
    sil();
    sayfa_no++;
    cogalt(sayfa_no);
    trace(sayfa_no);
    }
    if(sayfa_no==0) {
    geri_bt.enabled = false;
    geri_bt._alpha = 20;
    }else{
    geri_bt.enabled = true;
    geri_bt._alpha = 100;
    }
    if(sayfa_no==toplam_sayfa-1) {
    ileri_bt.enabled = false;
    ileri_bt._alpha = 20;
    }else{
    ileri_bt.enabled = true;
    ileri_bt._alpha = 100;
    }
    }
    ////////////////////////
    yukle();

  2. avatar Sedat Tiryaki diyor ki:

    kardeş bende yeni başladım elimden geldiği kadar yapmaya çalışırım yapınca burada yayınlarım kardeşim

  3. avatar can diyor ki:

    linkler kırık düzeltir misiniz

Leave a Reply

*