swf لود شده از کتابخانه خود استفاده نمی کند!!!

myfirst

Member
سلام به اساتید محترم.
من به مشکلی برخوردم که خیلی عجیبه! اگر امکان داره راهنمایی کنید.

یک Swf اصلی تعدادی فایل swf بیرونی رو داخل خودش لود می کنه. داخل همه swf ها MovieClip هایی با نام کلاس یکسان و ماهیت متفاوت وجود داره. مشکل اینجاست که وقتی swf ها داخل فایل اصلی لود میشن از movieClipهای دیگر swf ها استفاده میکنن. برای اینکه هر swf از کتابخانه خودش MovieClip ها رو فراخوانی کنه چیکار باید کرد؟ فایل ضمیمه رو ببینید.
در فایل ضمیمه فایلA، فایلB رو لود میکنه. هردو داخل کتابخانه هاشون یک MovieClip با نام کلاس Mc دارند ولی ماهیت هر کدوم متفاوته. وقتی فایل B داخل A لود میشه ازMovieClip فایل A استفاده میکنه!!!
لطفا کمک کنید.
 

پیوست ها

  • sample.zip
    15.4 کیلوبایت · بازدیدها: 6
آخرین ویرایش:

myfirst

Member
applicationDomain

خودم پیداش کردم. applicationDomain
ضمیمه رو ببینید...

به هر حال ممنون
 

پیوست ها

  • ApplicationDomainSample.zip
    221.2 کیلوبایت · بازدیدها: 21

++Hadi++

Active Member
ببخشید من خیلی وقت بود سر نزده بودم و پستتونو ندیده بودم.
applicationDomain برا این کار هست که می تونید با استفاده از یه loaderContext ،و تعریف یه applicationDomain ،یه محیط داخلی جدید برا یه swf لود شده تعریف کنید.به صورتیکه مثلا توابع و متغیر های استاتیک رو نبینه و کلا همه چی برای اونها تازگی داشته باشه.
حتی می شه با استفاده از ApplicationDomain.currentDomain ،و پاس دادنش به یه LoaderContext ،اونو وارد محیط نرم افزاری خودمون کنیم تا با یه چیزی شبیه به runtime share و بدون استفاده از این ابزار مزخرف،همین کار رو کرد. یعنی مثلا متغیر ها و متد ها (توابع) رو با استفاده از swf لود شده،تو مثلا متغیر های استاتیک از انواع مختلف مثل Function و ... ،قرار بدین .
البته برا دسترسی تابعی متغیری و ارتباط داده ای کامل در جهت یکپارچه شدن این swf ها ،باید مشخصه allowCodeImport از کلاس loaderContext رو برابر true کنید .در نتیجه به راحتی می تونید از یه swf به عنوان بانک وکتور ها یا ui ها یا مووی کلیپ ها و sprite ها استفاده کنید و اونو تو یکی دیگه embed یا لود کنید.بای...
 

myfirst

Member
ممنون آقای عباسی
یه سوال! چطور میشه از swf که توی applicationDomain لود شده به loader اصلی و کلا parent دسترسی داشت؟
 

majid622

New Member
سلام. من می خوام یه فایل swf رو توی پروژه ام لود کنم اما نمی دونم چیکار باید بکنم ( اکشن اسکریپت 3 ، فلش CS5 ) لطفا راهنماییم کنید>>>>>>>>>>>>>>>>>>
 

++Hadi++

Active Member
تو امضای من اون پایین پایینا یه روش دسترسی با استفاده از دو تا parent هست که از swf لود شده به اصلیه متصل می شید.دومین روشش استفاده از متغیر های استاتیک (static) هست که آموزشاش تو امضامه.
 

myfirst

Member
سلام. ممنون آقای عباسی ولی منظور من لود کردن swf با ApplicationDomain بود!
من براتون یه مثال ضمیمه می کنم اگر براتون مقدوره یه نیگا بندازین بهش
تو این مثال از parent به child دسترسی دارم ولی از child به parent دسترسی ندارم!
 

پیوست ها

  • ApplicationDomainSample.zip
    221.4 کیلوبایت · بازدیدها: 14

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

بالا