Soru - Cevap Bölümü
/ Kategori: Programlama
16/03/2010 - 10:04:33 cevap (2) Okunma : 1106 Bu yazıyı 1 kişi tuttu.
otomatik mc oluşturup, her birine property eklemek ve ardından kullanmak?
önceki konuda sorduğum sorunun ardından birkaç zamandır takıldığım bir sorunuma daha sizler sayesinde çözüm arıyorum arkadaşlar,
benim belirlediğim sayıda ve benim belirlediğim ekrandaki koordinatlarına göre mc oluşturuyorum.
bu mc lere drag and drop özelliği ekleyeceğimden dolayı ilk olarak bulundukları x ve y koordinatlarını saklayıp daha sonra her bir mc nin ilk başladığı yere döndürmem gerekiyor kod ile.
bunu yapmak içinde her bir mc ye mc.xdegeri ve mc.ydegeri propertylerini ekliyorum..
ekranda benim belirlediğim sınırlar (x -y) kısıtlamaları ve belirlediğim sayıda mc'yi aşağıdaki kod ile oluşturuyorum. ( x-y 'yi kısıtladığım kod bloğuna takılmayın zira, o blok çok önemli değil)
her oluşturduğum mc ye de yeni bir isim atıyorum.
soruna gelince:
oluşturduğum bu her mc içindeki property lere ulaşamıyorum, flash hata veriyor... bir türlü çözemedim.
trace (spr.getChildByName("brosur_1").x)
ile x değerini alıyorum, ancak
trace (spr.getChildByName("brosur_1").xdegeri)
dediğimde flash hata veriyor...
librarydeki orjinal kopyasında property oluşturup o haliyle kopyasını çıkartmayı da denedim kod ile ancak nafile....
kısaca, istediğim sayıda mc oluşturacak, otomatik isim verecek, her birine property ekleyecek ve ben bu propertylere istediğim an ulaşabileceğim ama nasıl? :D
import flash.display.Sprite;
import fl.transitions.Tween;
import fl.transitions.easing.*;
var i:uint = 1;
var spr:Sprite = new Sprite();
var kacinciSatirda = 0;
var timer:Timer = new Timer(200,9);
timer.addEventListener(TimerEvent.TIMER,Ekle);
timer.addEventListener(TimerEvent.TIMER_COMPLETE,bitti);
timer.start();
addChild(spr)
function Ekle(evt:TimerEvent):void {
var mc:brosur = new brosur();
if (i % 5 != 0) {
if (i % 5 == 1 && i>5) {
kacinciSatirda++;
mc.x = 110;
} else {
if (i > 5) {
mc.x = (i-(kacinciSatirda*5))*110;
} else if (i<5) {
mc.x = i*110;
}
}
} else {
mc.x = 5*110;
}
if (kacinciSatirda ==0) {
mc.y = 30;
} else {
mc.y = kacinciSatirda*90+30;
}
mc.name = "brosur_" + i;
mc.xdegeri = mc.x;
mc.ydegeri = mc.y;
spr.addChild(mc);
var tween:Tween = new Tween(mc,"x",Elastic.easeOut,0,mc.x,3,true);
var tween1:Tween = new Tween(mc,"y",Elastic.easeOut,0,mc.y,2,true);
i++;
}
function bitti(evt:TimerEvent):void {
trace (spr.hasOwnProperty("brosur_1"))
trace (spr.getChildByName("brosur_1").x)
}
.
Cevaplar
( Faydalı Cevapları Göster )
yeniden selam arkadaşlar, bu sorunu da dışarda bir dizi oluşturup, for döngüsü içinde her oluşturduğum mc 'yi for döngüsü bitmeden dizinin içine ekleyerek çözdüm.
Etkinlikler
Toplantı
Özgür Yazılım ve Linux Günleri '10
Özgür Yazılım ve Linux Günleri '10
İstanbul Bilgi Üniversitesi Bilgisayar Bilimleri Bölümü ve Linux Kullanıcıları Derneği'nin 9 yıldır düzenlemekte oldukları etkinlikler bu yıl `Özgür Y...
Kategori:
Toplantı
Kimler Burada? 
Son 1 dakika içinde MMIstanbul' da 59 (50 kayıtlı, 9 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:
MMIstanbul Blog'undan
Blog Bölümü Blogevi.com'a Taşınıyor
Selam arkadaşlar MMIstanbul'da , tasarımcı ve programcıların blog yazılarını "feedleyerek" MMIstanbul okurlarını MMIstanbul dışın ...
7.500'üncü üyemiz Cem Koç!
Neler Yapılabilir?
500 Hatası Hakkında!
Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)










edit