واضح آرشیو وب فارسی:سایت ریسک: مشکل در load - هم اکنون نیازمند یاری سبزتان هستیم hamed_256giga 16 بهمن 1388, 08:21سلام من می خوام یه عکس رو load کنم اگه url درست نبود یک عکس دیگه load بشه ( که همیشه هست!) از کجا می شه فهمید که url درست هست یا نه؟ یا اصلا اگه بخواهم از loader.contentLoaderInfo.addEventListener(IOErrorE vent.IO_ERROR, ioErrorListener); استفاده کنم چطوری میشه تو listener دوباره loader رو با همون عکسی که همیشه هست load کنم؟ scup 16 بهمن 1388, 09:12خوب یک کاری کن...اول اون عکس که همیشه هست رو دیفالت قرار بده...که اگه لود شد عوض شه در غیر این صورت... hamed_256giga 16 بهمن 1388, 09:51ممنون از پیشنهادتون اما من الان نمی خواهم از این روش استفاده کنم... BehrouzPc 16 بهمن 1388, 10:09از رویداد استفاده کنید. برای تعریف رویداد از استفاده کنید خوب با این کار می تونبد توسط e.status عددی که شامل وضعیت هست رو دریافت کنید ، مثلا 404 عدم وجود فایل و 200 درست بودن عملیات و... function (e:):void { trace(e.status); } فکر کنم این رویداد به کار شما بیاد. موفق و پیروز باشید hamed_256giga 16 بهمن 1388, 10:39این کد مگه برای فایل های تو سیستمی که air داره اجرا می شه هم جواب می ده؟ من اینو نوشتم جواب نمی ده!!! چه جوری کار می کنه؟ var a:Loader = new Loader(); var str:String = new String("1.png"); a.addEventListener( ); a.load( new URLRequest( str)); addChild(a); function (event:):void { str = "2.jpg"; } hamed_256giga 16 بهمن 1388, 10:43تصویر 2 همیشه هست ولی تصویر 1 معلوم نیست که باشه یا نه!!! می خوام اگه تصویر 1 نبود تصویر 2 load بشه. ++Hadi++ 16 بهمن 1388, 11:18خیلی ممنون از بهروز جان... روش دیگه این کار اینه : var loader:Loader=new Loader(); var defaultURL:String="Pictures/DefaultPic.jpg"; addChild(loader); loader.load(new URLRequest("myPic.jpg")); loader.contentLoaderInfo.addEventListener(Event.CO MPLETE,completeFun); loader.contentLoaderInfo.addEventListener(IOErrorE vent.IO_ERROR,err); function err(evt:IOErrorEvent):void { trace("Default"); loader.load(new URLRequest(defaultURL)); } function completeFun(evt:Event):void { loader.contentLoaderInfo.removeEventListener(Event .COMPLETE,completeFun); loader.contentLoaderInfo.removeEventListener(IOErr orEvent.IO_ERROR,err); trace("Loading SuccessFully "); } سورسو دان و در cs4 باز کن ... در حالت اولیه myPic لود می شه و هر وقت اونو حذف کنی ، اون default لود می شه ... کافیه myPic رو حذف کنی تا نتیجه بعدی رو ببینی... بای... hamed_256giga 16 بهمن 1388, 12:57مرسی هادی جان اما من از این روش نمی تونم استفاده کنم!!! چون loader سراسری نیست در ioErrorListener به loader دسترسی ندارم وگر نه مشکل حل بود الان با یه همچین روشی مشکلم رو حل کردم ولی روشی که به کار بردم جالب نیست فقط اگر راه حلی برای : 1- اگه url درست نبود یک عکس دیگه load بشه ( که همیشه هست!) از کجا می شه فهمید که url درست هست یا نه؟ 2-یا اصلا اگه بخواهم از loader.contentLoaderInfo.addEventListener(IOErrorE vent.IO_ERROR, ioErrorListener); استفاده کنم چطوری میشه تو listener دوباره loader رو با همون عکسی که همیشه هست load کنم؟ hamed_256giga 16 بهمن 1388, 12:58چون در ioListener نمیشه با e.currentTarget به loader دسترسی داشت! ++Hadi++ 16 بهمن 1388, 21:33اینو تست کن ، من در مورد رویداد زیر از اون جواب گرفتم : loader.contentLoaderInfo.addEventListener(Event.Co mplete)جواب داده : function Errorr(evt:IOErrorEvent):void { var INFO:LoaderInfo=LoaderInfo(evt.currentTarget); INFO.removeEventListener(IOErrorEvent.IO_ERROR,err or); var myNewLoader:Loader=INFO.loader; myNewLoader..... } از اینجا می شه به اصل اون لودر دست پیدا کرد .مثل همون evt.currentTarget می مونه . در ضمن می تونی لودر ها رو در آرایه بریزی . بعد به هر کدومشون مشخصه name بدی و با استفاده از name هر نمونه ، به خونه مناسب از آرایه لودر ها دست پیدا کنی . من اینکار رو کردم و جواب گرفتم . بای... hamed_256giga 16 بهمن 1388, 22:33ایول داش هادی دمت گرم ماشالله خدا خیرت بده انشالله کار کرد توپ انشالله جبران کنم hamed_256giga 16 بهمن 1388, 23:08ببخشید دوباره مزاحم می شم ولی این روش توی یه نمونه درست جواب می ده ولی توی پروژه ی خودم نمی شه!! این error رو می ده : Error: Error #2099: The loading object is not sufficiently loaded to provide this information. at flash.display::LoaderInfo/get loader() hamed_256giga 17 بهمن 1388, 17:49اهایییییییییییییی کسی نیست جواب من رو بده؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ هادی کار کاره خودته!!! ++Hadi++ 17 بهمن 1388, 20:38راستی به خاطر اینه که هنوز اون لودرت به طور کامل اون مولتی مدیا رو لود نکرده تا شی کامل اونو در یه متغیر لودر قرار بده . تنها چیزی که به ذهنم می رسه همون name و آرایه هست . یعنی نامی که از حلقه شمارنده حلقه for به هر لودر ساخته شده داده می شه و دسترسی به اون نام از طریق فانکشن خطا و رفتن به یه آرایه ای که تمام لودر ها در اون هستند و با استفاده از نام ، به خانه مناسب دست پیدا کنی . بهتر بگم در یه حلقه for ، اسمی رو به هر لودر (هون شماره حلقه ) اختصاص می دی و بعد در همون حلقه ، اونو در یه آرایه و در درایه همون شمارنده حلقه قرار می دی . فک کنم منظورمو فهمیدی چون C++ کار می کنی . بای... hamed_256giga 18 بهمن 1388, 08:19ممنون از راهنماییت منظورت از name دادن چیه؟ myloader.name = i و بعد توی ioErrorListener یه for بذارم for(var i:int = 0;i<n ;i ++ ) if(array[i] .name == i) array[i].load("image");//end hamed_256giga 19 بهمن 1388, 10:44آقای هادی خان نگفتی؟ منتظریم... naming چی چی هست؟
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 295]