View Single Post
Sponsorlu Bağlantılar
Zoque.Forum
Advertisement
Old 04.05.2008   #6 (permalink)
Gazing
 
Üyelik Tarihi: 22.09.2007
Yer: İzmir
Yaş: 17
Mesaj: 30
Re: AS3 for döngüsü ile mc çoğaltma

Kodlarındaki açıklamarı okuyunca bir kaç şeyi açıklayayım dedim

Olayı daha iyi anlamak için yeni bir AS3 dosyası aç.Bir movieclip yarat ve bunun kütüphanedeki Class ismi kare_mc olsun.İsminden de anlaşılacağı gibi içine sadece bir kare çiz.

frame kodumuz:
PHP Code:
var kare:kare_mc = new kare_mc();
addChild(kare);
/////
kare.addEventListener(MouseEvent.MOUSE_DOWN,tikla);
function 
tikla(e:Event) {
    
trace(e.target);

Çalışmayı test edersen ve kareye basarsan karenin ismini görürsün.Yani kısacası this gitti event.target metodu geldi.

Şimdi şu kodu deneyelim:
PHP Code:
var kare:kare_mc = new kare_mc();
addChild(kare);
/////
kare.degisken="as3";
////
kare.addEventListener(MouseEvent.MOUSE_DOWN,tikla);
function 
tikla(e:Event) {
    
trace(e.target);
    
trace(e.target.degisken);

Test edersen as3 kelimesini görürsün.Yani kare içine id atıp sonra bu id'yi event.target ile alıp istediğini yapabilirsin.

Tamamdır oldu bu iş dediğini duyar gibiyim Ama yanılıyorsun.Şimdi kare_mc içine bir dinamik text at ve içine zoque yaz.

Çalışmanı test ve tam text üstüne tıkla veeee hata geldi değil mi? Ama output penceresindeki ilk satıra dikkat et:
PHP Code:
[object TextField
Yani aslında biz kare içindeki texte bastık ve bastığımız geldi.Aslında biz kare objesine, bu objenin tüm alt dallarına event ekleniyor. Peki ne yapmalıyız?

Ben çalışmalarımda basit bir yöntem kullanıyorum.Şimdi kare_mc içindeki çizim olan kareyi buton yap ve instance name kare_btn olsun.

frame kodumuz:
PHP Code:
var kare:kare_mc = new kare_mc();
addChild(kare);
/////
kare.degisken="as3";
////
kare.kare_btn.addEventListener(MouseEvent.MOUSE_DOWN,tikla);
function 
tikla(e:Event) {
    
trace(e.target);
    
trace(e.target.parent.degisken);

Yeni kodumuzda event'i kare içindeki kare_btn a ekledik. event.target dediğimizde butonu görüyorduk.Ama değişken butonun üst dalında yani kare_mc objesindeydi.Ozaman biz de değişkeni almak için:
e.target.parent.degisken

diyoruz.Bundan sonra yapman gereken tek şey.Butonu en üste alıp içine girip çizimi hit bölümüne koymak

Ufak bir hatırlatma: codesignist hocam da bu yöntemi kullanıyor :P

Kolay gelsin...
Gazing şu an çevrimdışı   Mesajdan alıntı yaparak yeni bir cevap ekleyin