Türkiye Online Medya Araştırması

İçeriğin rss beslemesi kullanımda değil 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
adres Safakizilkaya profilini göster
Safa kızılkaya 26.11.2008 12:51:20
En iyi cevap mı ?

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:


<item>
        <baslik>10.3 MİLYON</baslik>
        <deger>10300000</deger>
        <aciklama>www.ekolay.net</aciklama>
        <days>334.3 BİN</days>
        <months>10.3 MİLYON</months>
        <dveri01>%60'ı erkek, %40'ı bayan</dveri01>
        <dveri02>%72'si 18-35 yaş arası</dveri02>
        <dveri03>%39'u evli, %62'si bekar</dveri03>
        <dveri04>%65'i lisans ve lisans üstü eğitimli</dveri04>
        <dveri05></dveri05>
        <dveri06></dveri06>
        <file>images/page01.jpg</file>
    </item>

Şu yapıyı tercih edin:


<item baslik="10.3 MİLYON" deger="10300000" aciklama="www.ekolay.net" days"334.3 BİN" months="10.3 MİLYON">
<dveri 01="%60'ı erkek, %40'ı bayan" 02="%72'si 18-35 yaş arası" 03="%39'u evli, %62'si bekar" 04="65'i lisans ve lisans üstü eğitimli" file="images/page01.jpg">
</dveri>
</item>
adres serdarbakirtas profilini göster
.Hasan Serdar Bakırtaş 26.11.2008 14:37:08
En iyi cevap mı ?

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 ://

adres Safakizilkaya profilini göster
Safa kızılkaya 27.11.2008 10:35:56
En iyi cevap mı ?
Faydalı cevap

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:))

adres serdarbakirtas profilini göster
.Hasan Serdar Bakırtaş 27.11.2008 12:14:30
En iyi cevap mı ?

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...

adres mtulgar profilini göster
Muttalip TULGAR 28.11.2008 16:43:34
En iyi cevap mı ?

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...

adres serdarbakirtas profilini göster
.Hasan Serdar Bakırtaş 28.11.2008 18:10:13
En iyi cevap mı ?

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...

adres Safakizilkaya profilini göster
Safa kızılkaya 29.11.2008 08:28:45
En iyi cevap mı ?

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.

aç-kapa Bu Yazıyı Tutanlar

bu yazıyı tutan kimse yok.

yeni üyelik | şifremi unuttum

aç-kapa 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ı

aç-kapa Yarışma 3. Uluslararası Ekslibris Yarışması: İstanbul 2010

3. Uluslararası Ekslibris Yarışması: İstanbul 2010

İstanbul Ekslibris Dernegi, Feyziye Mektepleri Vakfı ve Işık Üniversitesi, kitaplar için mülkiyet işareti olarak kabul edilen ve üzerinde estetik dege...
Kategori: Yarışma

aç-kapa Konferans Yeni Medya ve Etkileşim Konferansı 2010 - Marmara Üniversitesi

Yeni Medya ve Etkileşim Konferansı 2010 - Marmara Üniversitesi

Generally speaking, the term "New" brought about debates. We try to open up and elucidate the term "New" along with "Interact...
Kategori: Konferans

aç-kapa Konferans 3. Uluslararası Gelecek İçin Öğrenme Alanında Yenilikler Konferansı 2010: e-Öğrenme

3. Uluslararası Gelecek İçin Öğrenme Alanında Yenilikler Konferansı 2010: e-Öğrenme

Konferans ile ilgili ayrıntılı bilgiye aşağıdaki bağlantıdan ulaşabilirsiniz: http://www.futurelearning.org.tr/katilim_cagrisitr.pdf ...
Kategori: Konferans

aç-kapa Toplantı IV. ANKARA TASARIM GÜNLERİ 2010

IV. ANKARA TASARIM GÜNLERİ 2010

IV. Ankara Tasarım Günleri, seminerleri, sunumları, etkinlik tarihleri boyunca gezilebilecek tasarım sergileri, video art gösterimleri, çeşitli worksh...
Kategori: Toplantı

üyeler Son Kahramanlar...

stats Kimler Burada? web stats

Son 1 dakika içinde MMIstanbul' da 61 (50 kayıtlı, 11 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:

rapustad ...

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)

coldfusion mysql ubuntu
 
sponsor adobe istanbul