عوض کردن مقدار متغییر new URLRequest با هر بار کلیک روی یک button

سلام دوستان یک سوال داشتم....

من یک button دارم و یک مووی کلیپ داخل stage ,که داخل اون مووی کلیپ چند خط کد دارم در فریم اولش که یک فایل xml لود بشه .
حالا تو لایه بالاتر میخوام وقتی هر بار روی button کلیک شد یک فایل جدید xml لود بشه حالا نمیدونم چطوری به اون کدهای داخل مووی کلیپ دسترسی داشته باشم ؟؟؟و مقدار new URLRequest رو عوض کنم؟

[PHPS]import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.events.Event;
import flash.display.MovieClip;
//////////////////////////////////load xml/////////////////////
var xml:XML;
var xmlreq:URLRequest = new URLRequest("sample.xml");
var xmlloader:URLLoader =new URLLoader();
xmlloader.load(xmlreq);
xmlloader.addEventListener(Event.COMPLETE,xmlcomplete);
function xmlcomplete(e:Event):void
{
xml = new XML(xmlloader.data);
createContainer();
//var my_images:XMLList;
//my_images = xml.pic.@thumb;
//trace(my_images);

}[/PHPS]
 

myfirst

Member
PHP:
var xml:XML;var xmlreq:URLRequest = new URLRequest();function LoadXML(url:String){
xmlreq.url = url;var xmlloader:URLLoader =new URLLoader();xmlloader.load(xmlreq);xmlloader.addEventListener(Event.COMPLETE,xmlcompl  ete);
}function xmlcomplete(e:Event):void{	e.target.removeEventListener(Event.COMPLETE,xmlcomplete);    xml = new XML(xmlloader.data);    createContainer();    //var my_images:XMLList;    //my_images = xml.pic.@thumb;    //trace(my_images); }

توی کد دکمه فانکشن LoadXML رو با مقدار ورودی (آدرس جدید) صدا بزنید
 
سلام دوست عزیز ....من این کدها رو تست کردم خطا میداد مخصوصا [PHPS]xml=new XML(xmlloader.data);[/PHPS] و همچنین موقع صدا زدن هم کار نمی کنه من اینجموری می نویسم تو کد دکمه PHP Code:

LoadXML("sample.xml");

چه جوری باید بنویسم؟ و همچنین دفعه اول میخوام یک فایل همیشه پیش فرض لود بشه چیکار باید بکنم
 
آخرین ویرایش:

++Hadi++

Active Member
اگه پستی که پ.خ کردید همینه ببینید اگه تعداد xml ها کمه ،بهتره یا همشون رو در قالب یه ایکسمل همون اول لود کنید و اگه نه ،یه بار همه ایکسمل ها رو لود کنید و اگه تعداد زیاده که هیچ باید رو هر کدوم کلیک شد همون لحظه لود شه...
در این مورد به روش زیر عمل کنید :
فرض کنید 4 تا دکمه دارید به اسامی b1 , b2,b3,b4 ،البته همشون از کلاس SimpleButton
PHP:
//Coding By ++Hadi++
import flash.events.MouseEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.IOErrorEvent;


var uloader:URLLoader=new URLLoader();
var xml:XML=null;

uloader.addEventListener(Event.COMPLETE,comp);
uloader.addEventListener(IOErrorEvent.IO_ERROR,err);
//
b1.addEventListener(MouseEvent.CLICK,fun01);
b2.addEventListener(MouseEvent.CLICK,fun02);
b3.addEventListener(MouseEvent.CLICK,fun03);
b4.addEventListener(MouseEvent.CLICK,fun04);

function fun01(evt:MouseEvent):void
{
    uloader.load(new URLRequest("X01.xml"));
}
function fun02(evt:MouseEvent):void
{
    uloader.load(new URLRequest("X02.xml"));
}
function fun03(evt:MouseEvent):void
{
    uloader.load(new URLRequest("X03.xml"));
}
function fun04(evt:MouseEvent):void
{
    uloader.load(new URLRequest("X04.xml"));
}

function comp(evt:Event):void
{
    trace("complete");
    xml=XML(evt.target.data);
    txt.text="";
    for(var i:int=0;i<xml.items.item.length();i++)
    {
        txt.text=txt.text+xml.items.item[i][email protected]()+"\n";
    }
}
function err(evt:Event):void
{
    trace(evt.type);
}
 

پیوست ها

  • XMLSample.rar
    152.1 کیلوبایت · بازدیدها: 139
ممنونم اقا هادی....ولی در اصل قراره من یک zoom scroll دزست کنم شبیه google map که با هر بار کلیک کردن و ظوم کردن یک سطح دیگه لود بشه به نظرتون این کار درسته یا نه؟
 

++Hadi++

Active Member
بله درسته ...در هر زوم اطلاعات منطقهجدید لود شه ،ولی بهتره به یه سیستمی مثل asp متصل باشید که در هر بار زوم و ... اطلاعات بهینه سازی شده همون منطقه رو به شما ارسال کنه...این جور برنامه ها نیاز به یه تحلیل اساسی داره و نمی شه به این راحتی نظر داد...
 

++Hadi++

Active Member
چون به محض لود یکی ،تکست فیلد رو خالی می کنم.البته فک کنم کلا اسکرولی نیست.برا اسکرول خوردنش باید از کامپوننتای فلش استفاده کنید...
 
چون به محض لود یکی ،تکست فیلد رو خالی می کنم.البته فک کنم کلا اسکرولی نیست.برا اسکرول خوردنش باید از کامپوننتای فلش استفاده کنید...

text در حالت dynamic و classic کامپوننت اسکرول خود فلشو قبول نمیکنه :(
باید کامپوننتو از کتابخونه لود کنیم که تست کردم بازم نشد.
این چیزی که نوشتین خیلی خوبو کامله، خیلی جاهام به درد میخوره، اگر اسکرولم داشت خیلی خوب میشد :)
 

++Hadi++

Active Member
اسکرولش آب خوردنه...فقط یه کم به همت شما نیاز داره و یه کم توجه به امضای من و استفاده از کلاس اسکرولرم....باور کن بیست دقیقه زمان بزاری ،یه اسکرول عالی گیرت می یاد...نه فقط اینجا....به درد همه جا می خوره...یه جورایی مشکل اسکرولت 100 در صد حل می شه...فقط بیست دقیقه...
 

جدیدترین ارسال ها

بالا