+ Yanıtla
Toplam 2 sonuçtan 1 ile 2 arası olanlar

Konu Başlığı: Loadvars ile Gelen Değişkeni Onload Dışında Kullanma Problemi

  1. #1

    Loadvars ile Gelen Değişkeni Onload Dışında Kullanma Problemi

    Merhaba arkadaşlar...
    Amacımız SWF'ye dışarıdan gelen numaraya göre bir XML dosyası seçmek ve seçilen XML'den verileri çekmek.

    Eğer dışarıdan veri almayıp XML dosyasının ismini elle yazarsak hiç problem yok. Ama Loadvars ile değişkeni okumaya çalıştığımızda Onload içinde değişkeni okumasına rağmen onload dışında gelen değişkeni kullanamıyoruz. Dolayısıyla değişkene göre belirleyeceğimiz XML dosyasının ismini belirleyemiyoruz.





    Kod:
    var get_data:LoadVars = new LoadVars();
    
    
    get_data.load( "http://localhost/XML/index2.PHP" );
    
    
    get_data.onLoad = function(ok) {
    if (ok) {
    				_root.textbox.text = get_data.data;
    				
    /*
    
    burada trace komutuyla _root.textbox.text değerini okuduğumuzda veriyi düzgün bir şekilde alabiliyoruz.
    Ama bu döngünün dışında veriyi alamıyoruz.
    */
    		}
    }
    
    
    /* Yukarıda aldığımız ve textbox.text'e aktardığımız değişkeni
     aşağıdaki gibi okumaya çalıştığımızda değer boş dönüyor.
    
     Amacımız PHP dosyasından gelen değişkene göre okunacak XML dosyasının ismini belirlemek
     Ama değeri onload fonksiyonun içinde doğru bir şekilde okumamıza rağmen dışarıya bir türlü aktaramıyoruz.
     
     */
    	
    var xml_src='flash_news'+_root.textbox.text+'.XML';
    trace(_root.textbox.text);
    
    
    /*
    
     üstte sorunsuz okumamıza rağmen burada trace komutuyla _root.textbox.text değerini alamıyoruz.
    */
    
    
    
    
    
    // Seconds to show each slide
    var slide_delay = 25;
    // frame rate of this flash file
    var frame_rate  = 5;
    // Sliding. Set to 1 to start auto sliding, to turn it off set 0
    var sliding     = 1;
    // amount of fading speed 1-100
    var fade        = 2; 
    
    var sec_count = 0;
    
    p = 0;
    b = 0; 
    function loadXML(loaded)
    {
    	
    	trace("ungo1");
    	if (loaded)
    	{
    		trace("ungo1 - iç");
    		xmlNode = this.firstChild;
    		image = [];
    		description = [];
    		total = xmlNode.childNodes.length;
    		for (i=0; i<total; i++)
    		{
    			image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
    			description[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
    		}
    		showImage();
    	}
    	else 
    	{
    		trace("ungo1 - iç - ters");
    		content = "Failed to load XML File";
    	}
    }
    
    
    
    listen = new Object();
    listen.onKeyDown = function()
    {
    	if (Key.getCode() == Key.LEFT)
    	{
    		if(picture._alpha >= 100)
    			prevImage();
    	}
    	else if (Key.getCode() == Key.RIGHT)
    	{	
    		if(picture._alpha >= 100)
    			nextImage();
    	}
    }
    	trace("ungo2");
    Key.addListener(listen);
    PREV.onRelease = function()
    {
    	if(picture._alpha >= 100)
    		prevImage();
    }
    NEXT.onRelease = function()
    {
    	if(picture._alpha >= 100)
    		nextImage();
    };
    
    
    
    function reset_timer()
    {
    	sec_count = 0;
    	this.timer.gotoAndPlay(1);
    	this.slider.gotoAndPlay(1);
    }
    
    function showImage()
    {
    	if (loaded == filesize)
    	{
    		picture._alpha = 0;
    		picture.loadMovie(image[p], 1);
    		this.cap.txt = description[p];
    		hover.pic.txt = p+1+" / "+total;
    		this.hover.play();
    		reset_timer();
    	}
    }
    
    function nextImage()
    {	
    	if (p<total-1)
    		p++;
    	else
    		p = 0;
    	showImage();
    }
    function prevImage()
    {
    	if(p>0)
    		p--;
    	else
    		p = total-1;
    	showImage();
    }
    
    this.onEnterFrame = function()
    {	trace("ungo3");
    	filesize = picture.getBytesTotal();
    	loaded = picture.getBytesLoaded();
    	if (loaded != filesize)
    	{
    		preloader.bar._xscale = 100*loaded/filesize;
    		if (preloader._alpha<100)
    			preloader._alpha += fade;
    			
    		if(cap._alpha > 0)
    			cap._alpha += fade;
    	}
    	else
    	{
    		if (picture._alpha<100)
    			picture._alpha += fade;
    			
    		if(preloader._alpha > 0)
    			preloader._alpha -= fade;
    			
    	    
    		if( picture._alpha >= 100 )
    		{
    			if(b == 0)
    			{
    				 picture_bg.loadMovie(image[p], 1);
    				b = 1; 
    			}			
    		}
    		else
    			b = 0;
    	}
    }
    xmlData = new XML();
    xmlData.ignoreWhite = true;
    xmlData.onLoad = loadXML;
    xmlData.load(xml_src);
    
    trace("buralardayım");
    
    Ekli Dosyalar (Kullanmadan önce virüs taramasından geçiriniz)

  2. #2

    Re: Loadvars ile Gelen Değişkeni Onload Dışında Kullanma Problemi

    Selam

    Kod:
    var xml_src='flash_news'+_root.textbox.text+'.XML';
    trace(_root.textbox.text);
    
    yukarıda ki kod aşağıdakinden önce çalışıyor.

    Kod:
    get_data.onLoad = function(ok) {
    if (ok) {
    				_root.textbox.text = get_data.data;
    				
    		}
    }
    
    programı, onLoad fonksiyonu işlemini tamamladıktan sonra devam edecek şekilde ayarlamalısınız. as2 bilgim pek fazla olmadığı için net cevap veremiyorum ama as3 te olduğu gibi get_data için bir COMPLETE Event'i olmalı.

    Hatta aşağıda ki gibi denediğinizde bence çalışır.

    Kod:
    var get_data:LoadVars = new LoadVars();
    
    
    get_data.load( "http://localhost/XML/index2.PHP" );
    
    
    get_data.onLoad = function(ok) {
    if (ok) {
    				_root.textbox.text = get_data.data;
    //		}
    //}
    				
    	
    var xml_src='flash_news'+_root.textbox.text+'.XML';
    trace(_root.textbox.text);
    
    
    // Seconds to show each slide
    var slide_delay = 25;
    // frame rate of this flash file
    var frame_rate  = 5;
    // Sliding. Set to 1 to start auto sliding, to turn it off set 0
    var sliding     = 1;
    // amount of fading speed 1-100
    var fade        = 2; 
    
    var sec_count = 0;
    
    p = 0;
    b = 0; 
    function loadXML(loaded)
    {
    	
    	trace("ungo1");
    	if (loaded)
    	{
    		trace("ungo1 - iç");
    		xmlNode = this.firstChild;
    		image = [];
    		description = [];
    		total = xmlNode.childNodes.length;
    		for (i=0; i<total; i++)
    		{
    			image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
    			description[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
    		}
    		showImage();
    	}
    	else 
    	{
    		trace("ungo1 - iç - ters");
    		content = "Failed to load XML File";
    	}
    }
    
    
    
    listen = new Object();
    listen.onKeyDown = function()
    {
    	if (Key.getCode() == Key.LEFT)
    	{
    		if(picture._alpha >= 100)
    			prevImage();
    	}
    	else if (Key.getCode() == Key.RIGHT)
    	{	
    		if(picture._alpha >= 100)
    			nextImage();
    	}
    }
    	trace("ungo2");
    Key.addListener(listen);
    PREV.onRelease = function()
    {
    	if(picture._alpha >= 100)
    		prevImage();
    }
    NEXT.onRelease = function()
    {
    	if(picture._alpha >= 100)
    		nextImage();
    };
    
    
    
    function reset_timer()
    {
    	sec_count = 0;
    	this.timer.gotoAndPlay(1);
    	this.slider.gotoAndPlay(1);
    }
    
    function showImage()
    {
    	if (loaded == filesize)
    	{
    		picture._alpha = 0;
    		picture.loadMovie(image[p], 1);
    		this.cap.txt = description[p];
    		hover.pic.txt = p+1+" / "+total;
    		this.hover.play();
    		reset_timer();
    	}
    }
    
    function nextImage()
    {	
    	if (p<total-1)
    		p++;
    	else
    		p = 0;
    	showImage();
    }
    function prevImage()
    {
    	if(p>0)
    		p--;
    	else
    		p = total-1;
    	showImage();
    }
    
    this.onEnterFrame = function()
    {	trace("ungo3");
    	filesize = picture.getBytesTotal();
    	loaded = picture.getBytesLoaded();
    	if (loaded != filesize)
    	{
    		preloader.bar._xscale = 100*loaded/filesize;
    		if (preloader._alpha<100)
    			preloader._alpha += fade;
    			
    		if(cap._alpha > 0)
    			cap._alpha += fade;
    	}
    	else
    	{
    		if (picture._alpha<100)
    			picture._alpha += fade;
    			
    		if(preloader._alpha > 0)
    			preloader._alpha -= fade;
    			
    	    
    		if( picture._alpha >= 100 )
    		{
    			if(b == 0)
    			{
    				 picture_bg.loadMovie(image[p], 1);
    				b = 1; 
    			}			
    		}
    		else
    			b = 0;
    	}
    }
    xmlData = new XML();
    xmlData.ignoreWhite = true;
    xmlData.onLoad = loadXML;
    xmlData.load(xml_src);
    
    trace("buralardayım");
    
    		}
    } 

    Saygılar...

+ Yanıtla

Bu konu başlığı için etiketler

Mesaj Seçenekleri

  • Yeni başlık açamazsınız
  • Cevap yazabilirsiniz
  • Dosya ekleyemezsiniz
  • Mesajlarınızı değiştiremezsiniz