Şimdi Ara

actionscript3 xmlden veri dosyası okuma sorunu yardım?? :(

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
6
Cevap
0
Favori
602
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • basit bir sliteshow hazırlamak üzere oluşturmak istediğim kodda,
    xml dosyasını yukledikten sonra verileri değişkene aktarıp, farklı çalışma alanlarında nasıl kullanabilirim


    var xmlNesnesi:XML = new XML() 
    var xmlURL:String = "resimler.xml"
    var xmlNesnesiURL:URLRequest = new URLRequest(xmlURL)
    var xmlYukleyici:URLLoader = new URLLoader(xmlNesnesiURL)
    var resimler_dizi:Array = new Array ()


    xmlYukleyici.addEventListener("complete", xmlYuklendi)
    function xmlYuklendi(event:Event):*{
    xmlNesnesi=XML(xmlYukleyici.data)
    xmlNesnesi.ignoreComments=false
    xmlNesnesi.ignoreWhitespace=true
    for each (var i in xmlNesnesi.resim){

    resimler_dizi.push (i.@path)


    }
    trace(resimler_dizi[1]) // burada trace çalışıyor
    }

    trace(resimler_dizi[1]) //fonksiyon dışında nasıl trace çalışır ???? amaç resimlerimin yolunu dizideğişkeniyle göstermek


    resimler.xml 
    <resimler>
    <resim path="resimler/1.jpg" />
    <resim path="resimler/2.jpg" />
    <resim path="resimler/3.jpg" />
    <resim path="resimler/4.jpg" />
    <resim path="resimler/5.jpg" />
    <resim path="resimler/6.jpg" />
    </resimler>



    < Bu mesaj bu kişi tarafından değiştirildi reflex -- 12 Mart 2009; 12:13:31 >







  • Genel bir tavsiye olarak, foruma kod yapıştırırken [code] tagları arasına almayı unutmayınız. Böylelikle kodunuzdaki girintiler (indentation) kaybolmadan, okunur halde foruma taşınmış olur.

    Bu kodu çalıştırdığınızda çıktı nasıl oluyor?
    fonksiyon dışında da trace gayet güzel çalışır. Ama sizin yanıldığınız nokta şu ki; altta ki trace üsttekinden önce çalışıyor, yani XML henüz yüklenemeden. Üstteki trace ise XML'in yüklenmesinin tamamlanmasını bekleyip ondan sonra çalışıyor, dolayısıyla düzgün çalışıyor.

    Eğer alttaki trace kodunu silip, timeline'da 3-5 frame ileriye gidip orada yazarsanız, çalıştığını görürsünüz.
  • tavsiyen için teşşekkür ederim tagı koydum , gerçektende birkaç frame ilerde trace çıktısını alabildim
    yanlız timelineda moviclip içinde çıktı almıyor bunu nasıl aşabilirim ,

    //bu kodları anatimelinedaki cerceve_mc nin birinci framesine yapıştırdım, adresi manuel olarak girince resim yuklenior 
    trace (resimler_dizi[1]); // "1120: Access of undefined property resimler_dizi." hatası veriyor
    var resimler_dizi_string:String = resimler_dizi[1];
    var img:ImageLoaderAbs = new ImageLoaderAbs(resimler_dizi_string,50,50,0.1);
    addChild(img);


    actionscript3 de resimler_dizi[1] i değişkene atayıp nasıl global yapabilirim yada varmı öyle bir yol ?
  • aslında adetim bir şeyi bulanakadar kafamı patlatmak :) ama hiç zamanım yok pazartesi işe başlıyorum biran önce halletmem lazım bunu, yardımlarınınızı esirgemeyin lütfen :DD
  • MovieClip içinden Ana Timeline'daki değişkenlere ulaşmak için;

    MovieClip(root).degiskenAdi


    * Herhangi bir şeyin (XML, resim, SWF dosyası vs.) yüklenmesini beklemek için birkaç frame ileriye yazmak doğru bir kullanım değildir. Yazdığınız flash internet'e çıktığında bir XML'in yüklenmesi birkaç frame'den daha uzun süre alabilir, bu da sizin kodunuzun patlaması anlamına gelir. Bu yüzden doğru kullanım, URLLoader (ya da Loader, ya da her neyse) sınıfının Event.COMPLETE olayını dinlemektir.

    ** Hayırlı işler



    < Bu mesaj bu kişi tarafından değiştirildi un.real -- 13 Mart 2009; 9:26:32 >
  • MovieClip(root).degiskenAdi
    işeyaradı kodun içinde ama genelkodları birazdaha geliştirmem lazım
    timeline daki tween in içindeki mc de işe yarıyor fakat tweenin 2. çalışmasında çıktı veriyor ilkinde undefined
    sonucu yazarım buraya
    **teşşekür ederim :)
  • Yapay Zeka’dan İlgili Konular
    ACİL YARDIM PDF.JS HATASI
    6 yıl önce açıldı
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.