Soru - Cevap Bölümü
/ Kategori: Programlama
20/03/2010 - 11:51:24 cevap (7) Okunma : 1010 Bu yazıyı 0 kişi tuttu.
AS3 İstatiktik raporu image load sorunu
Merhaba arkadaşlar;
bir önceki sorunumu Safakizilkaya arkadaşımız ile hallettik, şimdiki sorun ise istatistik raporunda barlara tıkladığımızda sol tarafda açıklamalar geliyor yalnız henüz barlara tıklamadan ilk açıklamanın otomatik gelmesini sağlayamadım birde açıklamalar gelirken imajını da çağırması lazım ama imajı çağırırken hata raporu veriyor.
çalışma dosyası ektedir.
ilginiz için şimdiden teşekkürler...
Ekli Dosyalar
Dosyalara ulaşabilmek için, üye iseniz giriş yapın, değilseniz üye olun.
- istatistik.rar
Cevaplar
( Faydalı Cevapları Göster )
xml imi o şekilde değiştirdiğim zaman as kodunda xml e verdiğim döngülerin yolunu düzelttiğimde hata aloyorum as3 de birazdaha farklı yapmışlar sanırım bir noktada takılıyorum galiba. as3 ile xml bağlantı yapamadım ://
Peşinen söyleyeyim, OOP çalışmayı öğrenmeniz şart. Kod bu şekliyle sorunlu gelişir. Çalışmaz değil, çalışır ama "kopyala yapıştır" bir yöntem ve forumlardan toparlanmış bir kod görüntüsü verir.
XML dosyanızı eski haliyle kalmak kaydıyla şu kod, istediğinizi yapar:
import flash.net.URLRequest;
import flash.display.Loader;
var myXML:XML = new XML;
var myXMLURL:URLRequest = new URLRequest("content.xml");
var myLoader:URLLoader = new URLLoader(myXMLURL);
myLoader.addEventListener (Event.COMPLETE, buildStatistic);
function buildStatistic (e:Event):void
{
var randArray1:Array=new Array();
var randArray2:Array=new Array();
var randArray3:Array=new Array();
var randArray4:Array=new Array();
var randArray5:Array=new Array();
var randArray6:Array=new Array();
var randArray7:Array=new Array();
var randArray8:Array=new Array();
var randArray9:Array=new Array();
var randArray10:Array=new Array();
var randArray11:Array=new Array();
var randArray12:Array=new Array();
var indexArray1:Array=new Array();
var indexArray2:Array=new Array();
var indexArray3:Array=new Array();
var indexArray4:Array=new Array();
var indexArray5:Array=new Array();
var indexArray6:Array=new Array();
var indexArray7:Array=new Array();
var indexArray8:Array=new Array();
var indexArray9:Array=new Array();
var indexArray10:Array=new Array();
var indexArray11:Array=new Array();
var indexArray12:Array=new Array();
var myXML:XML = new XML(e.target.data);
var total=myXML.item.length();
for (var i=0; i<total; i++)
{
randArray1.push (myXML.item[i].baslik.text());
randArray2.push (myXML.item[i].deger.text());
randArray3.push (myXML.item[i].aciklama.text());
randArray4.push (myXML.item[i].days.text());
randArray5.push (myXML.item[i].months.text());
randArray6.push (myXML.item[i].dveri01.text());
randArray7.push (myXML.item[i].dveri02.text());
randArray8.push (myXML.item[i].dveri03.text());
randArray9.push (myXML.item[i].dveri04.text());
randArray10.push (myXML.item[i].dveri05.text());
randArray11.push (myXML.item[i].dveri06.text());
randArray12.push (myXML.item[i].file.text());
}
while (randArray1.length>0)
{
var r:int = Math.floor( Math.random() * randArray1.length );
indexArray1.push (randArray1[r]);
indexArray2.push (randArray2[r]);
indexArray3.push (randArray3[r]);
indexArray4.push (randArray4[r]);
indexArray5.push (randArray5[r]);
indexArray6.push (randArray6[r]);
indexArray7.push (randArray7[r]);
indexArray8.push (randArray8[r]);
indexArray9.push (randArray9[r]);
indexArray10.push (randArray10[r]);
indexArray11.push (randArray11[r]);
indexArray12.push (randArray12[r]);
randArray1.splice (r,1);
randArray2.splice (r,1);
randArray3.splice (r,1);
randArray4.splice (r,1);
randArray5.splice (r,1);
randArray6.splice (r,1);
randArray7.splice (r,1);
randArray8.splice (r,1);
randArray9.splice (r,1);
randArray10.splice (r,1);
randArray11.splice (r,1);
randArray12.splice (r,1);
}
for (i=0; i<total; i++)
{
var menuHolder:Menu02 = new Menu02();
menuHolder.menuText.text = indexArray1[i];
menuHolder.degerText.text = indexArray2[i];
menuHolder.documentText.text = indexArray3[i];
menuHolder.bar_mc.itemInterior =indexArray3[i];
menuHolder.bar_mc.dayInterior = indexArray4[i];
menuHolder.bar_mc.monthInterior =indexArray5[i];
menuHolder.bar_mc.dveri01Interior = indexArray6[i];
menuHolder.bar_mc.dveri02Interior = indexArray7[i];
menuHolder.bar_mc.dveri03Interior = indexArray8[i];
menuHolder.bar_mc.dveri04Interior = indexArray9[i];
menuHolder.bar_mc.dveri05Interior =indexArray10[i];
menuHolder.bar_mc.dveri06Interior = indexArray11[i];
menuHolder.bar_mc.dveri07Interior = indexArray12[i];
//FIRST ST
itemHolder.menuText.text=indexArray3[0];
itemHolder.dayText.text=indexArray4[0];
itemHolder.monthText.text=indexArray5[0];
itemHolder.dveri01Text.text=indexArray6[0];
itemHolder.dveri02Text.text=indexArray7[0];
itemHolder.dveri03Text.text=indexArray8[0];
itemHolder.dveri04Text.text=indexArray9[0];
itemHolder.dveri05Text.text=indexArray10[0];
itemHolder.dveri06Text.text=indexArray11[0];
var pictLdr:Loader = new Loader();
var pictURL:String = indexArray12[0];
var pictURLReq:URLRequest = new URLRequest(pictURL);
itemHolder.imageHolder.addChild (pictLdr);
pictLdr.load (pictURLReq);
menuHolder.y=i*20+(30);
menuHolder.x=380;
menuHolder.bar_mc.mouseChildren=false;
menuHolder.bar_mc.buttonMode=true;
overHolder.alpha=0;
addChild (menuHolder);
menuHolder.bar_mc.addEventListener (MouseEvent.MOUSE_DOWN,clickHolderDOWN);
menuHolder.bar_mc.addEventListener (MouseEvent.MOUSE_OVER,clickHolderOVER);
menuHolder.bar_mc.addEventListener (MouseEvent.MOUSE_OUT,clickHolderOUT);
menuHolder.addEventListener (Event.ENTER_FRAME,efekt);
}
}
function clickHolderDOWN (e:MouseEvent)
{
itemHolder.menuText.text=e.target.itemInterior;
itemHolder.dayText.text=e.target.dayInterior;
itemHolder.monthText.text=e.target.monthInterior;
itemHolder.dveri01Text.text=e.target.dveri01Interior;
itemHolder.dveri02Text.text=e.target.dveri02Interior;
itemHolder.dveri03Text.text=e.target.dveri03Interior;
itemHolder.dveri04Text.text=e.target.dveri04Interior;
itemHolder.dveri05Text.text=e.target.dveri05Interior;
var imagePath=e.target.dveri07Interior;
var pictLdr:Loader = new Loader();
var pictURL:String =imagePath;
var pictURLReq:URLRequest = new URLRequest(pictURL);
pictLdr.load (pictURLReq);
itemHolder.imageHolder.addChild (pictLdr);
pictLdr.load (pictURLReq);
addChild (itemHolder);
}
function clickHolderOVER (e:MouseEvent)
{
overHolder.x=250;
overHolder.menuText.text=e.target.itemInterior;
overHolder.startDrag (true);
overHolder.alpha=100;
addChild (overHolder);
}
function clickHolderOUT (e:MouseEvent)
{
overHolder.startDrag (false);
overHolder.alpha=0;
addChild (overHolder);
}
function efekt (event:Event)
{
event.target.git_h = (Number(event.target.degerText.text)/200000-event.target.bar_mc.width)*0.3;
event.target.bar_mc.width+=event.target.git_h;
event.target.menuText.x = event.target.bar_mc.x+event.target.bar_mc.width+5;
if (Math.abs(event.target.git_h)<0.05)
{
event.target.bar_mc.width=Number(event.target.degerText.text)/200000;
event.target.removeEventListener(Event.ENTER_FRAME,efekt)/200000;
}
}
İlk verinin otomatik olarak görüntülenmesi için arraylerdeki [0] indexlerine başvurduğuma dikkat edin.
XML'in tüm node'larını veri ile doldurmayı unutmayın. Aksi halde parse sonucu Null döneceği için sorun çıkar (OOP şart:))
Teşekkür ederim.. as2 den as3 e yeni geçtim konuları biraz hızlı atlıyorum galiba söylediklerini uygulıcam oop çalışma zaman :)
birde ufak bi sıkıntı galiba kodda image ları load ederken üst üste load edio bir öncekini unload etmiyor bende kontrol edip kurcalıyım biraz.
tekrardan yardımın için teşekkür ederim...
iyi çalışmalar...
Sevgili Safa,
Soruları cevaplayarak actionscript öğretim sürecine çok büyük katkılarda bulunuyorsun. Gerçekten övgüyü hak ediyorsun. Çok teşekkürler...
Katılıyorum, bir çok arkadaşa yardımı dokunmakda aynı zamanda mantığını ve daha yayarlı yolları söylerek bir çok konuda bilgilendiriyor.
Tekrardan Teşekkürler...
Muttalip Bey, çok teşekkür ederim. Sizin derslerinizin yanında benim yaptıklarımın lafı bile olmaz. Her zaman bir cevap eri bulmak mümkün, asıl bize hoca lazım.
Şimdiye dek 32 ders yayınlamışsınız, orta boyutlu bir kitaba eşdeğer.
Epeydir forumlarda, web komünitelerinde gezinirim, bu forumlarda ya da komünitelerde bir kaç başlangıç seviyesi ders ya da makale yayınlayıp, sonra da bu derslerle kazandığı "popülariteyi" bloguna ya da kişisel projesine taşıyıp, komüniteye "rakip" olan çakma guru duruşlu çok insan gördüm.
Siz ise bambaşkasınız. MMIstanbul'da eğer 3 soruya yanıt vermişsek, ikisi sizin verdiğiniz cesaretledir.
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 61 (50 kayıtlı, 11 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)









Yeni node'lar eklemişsiniz. O halde daha önceki node'lar için yaptığımız işlemi yeni node'lar için de yapmalısınız.
Ancak projeniz bu şekliyle İngiliz usulü çalışacağı için, hızla geliştirilir ama çok kaynak sarfeder.
(İngiliz usulunde, kaynak veriyi böler parçalar yönetirsiniz.)
Halbuki projeyi Fransız usulü ele alsaydınız, kodlama süreci zorlaşır ama sonunda en verimli koda ulaşacağınız için uygulamanız kararlı bir biçimde düşük sarfiyat ile çalışırdı.
(Fransız usulünde kaynak veriyi kapsar, dönüştürür (asimile eder), yönetirsiniz)
İşe XML dosyasının yapısını değiştirmekle başlayabilirsiniz
Şu yapı yerine:
Şu yapıyı tercih edin: