واضح آرشیو وب فارسی:سایت ریسک: کمک! دسترسی به محتویات آبجکت فرزند از طریق پدر ttiiko 12 اسفند 1389, 08:12میدونم مبحث تکراریه ! اما نتونستم توی تاپیک های قبلی جوابم رو پیدا کنم یه swf دارم به نام page1 که یک TLF text را با کد زیر پر می کند var textLoader:URLLoader = new URLLoader(); textLoader.addEventListener(Event.COMPLETE, textLoaded); textLoader.load(new URLRequest("001.txt")); function textLoaded(evt:Event):void { mytext.text = textLoader.data; } این فایل swf در فایل دیگری با کد زیر صدا زده میشه و نوشته های فرزند به خوبی در پدر نمایش داده میشه اما میخوام در متد پدر به محتوی TLF text box فرزند دسترسی پیدا کنم تا بتونم توش سرچ کنم. جستجوهام به کد زیر منجر شد! اما ظاهرا غلطه ! ممنون میشم درستش رو برام بنویسید . var loader1:Loader=new Loader(); box1.addChild(loader1); loader1.load(new URLRequest("page1.swf")); loader1.contentLoaderInfo.addEventListener(Event.C OMPLETE,fun2) function fun2 (evt:Event):void { var mov:MovieClip=MovieClip(loader1.content); var infoTLF:TLFTextField =mov.mytext.text; }Action 3 in cs4 or cs5 plz BehrouzPc 12 اسفند 1389, 20:10فکر می کنم به جای MovieClip(loader1.content); اینجوری بنویسی درست باشه var mov:MovieClip = evt.target.content.root; mov.mytext.text ="2345" var mov:MovieClip = evt.target.content.root.mytext; موفق و پیروز باشید ttiiko 13 اسفند 1389, 10:27فکر کنم خوب سئوالم رو نپرسیدم swf اول که به نام page1 است کدش درسته! من میخوام از swf دوم که نامش base است به محتویات TLFtext در page1.swf دسترسی پیدا کنم( page1 در base لود شده! ) فایل base.fla , page1.fla رو attach کردم به همین پست. ممنون میشم خط مربوطه در فایل base.fla رو تصحیح کنید . به طوری که در base.fla بتونم به محتویات page1.TLFtext دسترسی پیدا کنم برای جستجوی یک کلمه مشخص. یک دنیا ممنونم AS3 in CS5 :rose: BehrouzPc 13 اسفند 1389, 11:06امکان دانلود پیوست وجود ندارد!! در کل راه همین می باشد می بایست از همین روش استفاده کنید و بعد از آن مانند یک مووی کلیپ که درون آن یک فیلد متنی است با آن رفتار کنید موفق و پیروز باشید ttiiko 13 اسفند 1389, 21:01از صبح تا حالا چندتا کتاب actionscript 3.0 مثل Bible willy , OReilly Essential رو بررسی کردم . کدی که لطف کردید گذاشتید به نظر باید کار کنه اما من هنوز با خطایی به مشخصات زیر روبرو میشم. ReferenceError: Error #1069: Property mytext not found on page1_fla.MainTimeline__Preloader__ and there is no default value. at base_fla::MainTimeline/fun2() همه چیز تا root خوبه! حتی وقتی var mov:MovieClip = evt.target.content.root رو می نویسم و در این حالت mov.height رو trace میکنم عدد درست میده اما وقتی mov.mytext.text رو می نویسم error بالا رو میده :-? amird 14 اسفند 1389, 13:58سلام راستش ببین نتونستم کامل روش کار کنم . ولی این کدی که داری می گی می زنی و height رو بهت می ده در واقع داره بهت اندازه همون box1 رو می ده اندازه box1 رو تغییر بده می بینی که فرق می کنه عدد trace شده . پس این از نکته 1 . وقت کنم روش کار می کنم . موفق باشی ++Hadi++ 15 اسفند 1389, 09:41ببین این چطوریه : trace(MovieClip(myLoader.content).TXT.text); ttiiko 15 اسفند 1389, 18:40:cry: درست نشد. کلا بیخیال این راه برای word search شدم و رفتم سراغ همون روش همیشگیه xml و CSS از اینکه وقت گزاشتید ممنونم دوستان triton 17 اسفند 1389, 07:18TLF text را به classic text تغییر بده حل میشه. clove-pink 24 اسفند 1389, 20:58سلام نمي دونم كلا بي خيال شديد يا نه اما من فكر كنم فهميديم دردش چيه... 1.اول اينكه بايد اون فونتي كه تو فايل page1 ازش استفاده كرديد رو embed كنين و مورد all رو تيك كنيد تا همه رو(چه عدد چه حروف و...)رو embed كنه 2. تو قسمت publish setting و در تب flash قسمت action3 و دكمه setting رو بزنيد و در قسمت runtime shared library setting مورد merged into code رو انتخاب كنيد و ok بزنيد. با اين كار ديگه warning اينكه فونت ها رو embed كنين رو نمي بينيد. تو همون page 1 يه dispacher بديد كه معلوم شه اين text شما چه موقع لود شده.. يعني اين: import flash.events.Event; var textLoader:URLLoader = new URLLoader(); textLoader.addEventListener(Event.COMPLETE, textLoaded); textLoader.load(new URLRequest("001.txt")); function textLoaded(evt:Event):void { mytext.text = textLoader.data; dispatchEvent(new Event("Loader_complete")); } بعد حالا مي ريم سراغ base من اونايي كه غير فعال كرديو بهش كاري نداشتم برشون داشتم فقط گذاشتم كه متن اون رو هموني كه گفتي بشه. يه listener ميزاريم واسه page1 كه لودش كرديم و مي گيم وقتي لود تموم شد حالا برو متن رو 123 كن يعني اين: import flash.display.Loader; import flash.net.URLRequest; import flash.events.MouseEvent; import flash.events.Event; import flash.display.MovieClip; import fl.text.TLFTextField; var loader1:Loader=new Loader(); box1.addChild(loader1); loader1.load(new URLRequest("page1.swf")); var loader2:Loader=new Loader(); box2.addChild(loader2); loader2.load(new URLRequest("page2.swf")) loader1.contentLoaderInfo.addEventListener(Event.C OMPLETE,fun2) function fun2 (evt:Event):void { var mov:MovieClip= evt.target.content; mov.addEventListener("Loader_complete",OnLoaded); } /////////////////// function OnLoaded(e:Event):void{ e.currentTarget.mytext.text="123"; } سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 397]