AS3-XML-Loader sorunları
Bu soruları yeni konu yerine buraya eklemek daha uygun sanırım.
AS3'te loader sınıfını yeni inceleyebildim.
Herhangi bir imaj ya da
SWF'yi yükleme olayını anladım.
Anladığım kadarıyla artık bir boş mc ye ihtiyacımız yok. Yükleyicimizi addChild(ldr) diyerek çözüyoruz olayı.
1-İlk yüklendiğinde sahnenin ortasında olması için COMPLETE ya da INIT fonksiyonlarına gerekli kodları yazıp her ikisinde de denediğim halde ortalayamadım. Direk sahneye
ldr.x=(stage.stageWidth/2)-(ldr.width/2);
yazıyorum yine olmuyor. Sadece RESIZE fonksiyonumun içinde çalışıyor. Sahneyi değiştirince olması gereken yere geliyor yani. Onun haricinde çalışmıyor.
AS3'te karşılıksız fonksiyon adlarını, değişken adlarını vs. hata olarak bildirmesi çok iyi. Olmayan bir şeye x,y vs. değeri atamışsak onu es geçmiyor. Bu yönden çok güzel olmuş. Fonksiyonları veya komutları yazdığımız sıra da sanırım artık çok önemli, aşağı yazdığım komutlar çalışmazken yukarı aldığımda çalışır hale geldi. Bunun gibi bir
sorun mu acaba bu ldr fonksiyonun çalışmaması da...
2- Loader sınıfında adresi
var int_adres = new URLRequest("intro.SWF");
introLdr.load(int_adres);
kodlarıyla ekliyoruz.
XML'den adresi nasıl gösterebilirim? Ayrıca
XML kodlarımın arasında bazı sorunlar daha var, kodların yanına eklediğim...
var myxml = new XML();
var xml_url = new URLRequest("menu.XML");
var xml_Ldr = new URLLoader(xml_url);
xml_Ldr.addEventListener(Event.COMPLETE, fncXml);
//
function fncXml(event:Event):void {
myxml = XML(xml_Ldr.data);
//
function menuler() {
for (var i= 0; i<myxml.anabolum.length(); i++) {
var bT:buton=new buton();
bT.x=0;
bT.y=50;
mBar.addChild(bT);//mBar sahnede mevcut olan MC.
//
var my_menu:ana_buton = new ana_buton();
my_menu.x=0;
my_menu.y=my_menu.height*i+0;
my_menu.yazi.text = myxml.anabolum[i].@*;
bT.addChild(my_menu);
//
var sayi = myxml.anabolum[i].galeri.length();
for (var j=0; j<sayi; j++) {
var alt_menu:alt_buton = new alt_buton();
alt_menu.x=0;
alt_menu.y=alt_menu.height*j+100;
alt_menu.yazi.text = myxml.anabolum.galeri[j].@ad;
bT.addChild(alt_menu);
alt_menu.fSayi = myxml.anabolum[i].galeri[j].foto.length();//bu rakamı aşağıda tanıtamıyorum.
//
trace(alt_menu.fSayi);//burada rakamı test ediyorum, her galerideki foto sayısını doğru gösteriyor.
alt_menu.addEventListener(MouseEvent.CLICK, showSmalls);
function showSmalls(e:MouseEvent) {
for (var f=0; f<this.fSayi; f++) {//burada this ile alt_menu'den hangisinde olduğumuza ulaşmaya çalışıyorum. AS2 de bu yöntemle ulaşıyordum, burada ulaşamıyorum.
//this.fSayi yerine herhangi bir sayı yazıyorum, fonksiyon çalışıyor.
//this.fSayi'yi tanıtamıyorum yani.
//sadece fSayi yazdığımda hata veriyor, alt_menu.fSayi yazdığımda yine yanlış tanıyor. Başka ne yazabilirim ki acaba:)
var sFoto:small=new small();
sFoto.x=0;
sFoto.y=53*f+1;
smallsContainer.addChild(sFoto);
//
sFoto.addEventListener(MouseEvent.CLICK, smallLoad);
function smallLoad(e:MouseEvent){
// imajları Loader ile kucuk adli çoğalttığım mc'ye yuklemek istiyorum...
}
}
}
}
}
}
menuler();
}
Yukarıdaki sorunlar da olduğu gibi sanırım fonksiyonları uygun yerde kapatamadım, ondan mı kaynaklanıyor acaba sayıları yanlış görme sorunları.