واضح آرشیو وب فارسی:سایت ریسک: تغییر و متغیر سراسری hamidhp 17 فروردين 1390, 08:10سلام چطور می توانیم تغییراتی را در تمام فریم ها اعمال کنیم و همچنین توسط کد در فایل fla تغییر ایجاد کنیم مثلاً fullscreen را چک کند و در صورت فول نبودن فول کند و همچنین توسط کد تمام TLF ها را Right to Left کنیم و این تغییر در fla نیز اعمال شود و فونت همه متن ها را فقط با نوشتن کد در یکی از فریم ها اعمال کنیم !؟! ++Hadi++ 17 فروردين 1390, 08:49اگه یه متغیر سراسری می خوای که بتونی همه جا بهش دسترسی خواندنی و نوشتنی داشته باشی از آموزش های اکشن فصل چهارم رو دان کن . من در فصل نمی دونم 24 یا 25 آموزشش دادم . ولی برا چک کردن هر چیزی باید به صورت ران تایم با توابع Enter Frame یا Interval یا با گوش کردن به Event ها و دادن رویداد مناسب با DispatchEvent ، هر چی که دوس داشتی رو چک کنی . hamidhp 18 فروردين 1390, 10:22لطفاً کد را برای اینکه در هر فریمی که هستیم شماره فریم را trace کند ++Hadi++ 19 فروردين 1390, 14:21trace(this.currentFrame); hamidhp 20 فروردين 1390, 08:16این کد را برای هر فریم باید وارد کنیم من می خواهم فقط بکجا وارد کنم ++Hadi++ 20 فروردين 1390, 08:38می تونی یه کلاس بوجود بیاری و متغیر هاشو از نوع استاتیک تعریف کنی و یه متد استاتیک بنویسی و با پاس دادن مووی کلیپ به اون ، currentFrame اونو با این دستور البته نه با هندل کردن this که با هندل کردن اون مووی کلیپ ، 1 بار بنویسی و چند بار اونو صدا بزنی یا اینکه بیرون از اون مووی کلیپ و رو فریم هات ،یه تابع بنویسی که currentFrame رو بدست بیاره و کارهاشو انجام بده و فقط این تابع رو در هر جای لازم بیرون از اون مووی فقط صدا بزنی . بنویسی : myMC.currentFrame armanbm 20 فروردين 1390, 19:58من دقیقا متوجه سوالتون نمیشم. اما اگه طبق نام تاپیک میخواین متغیر سراسری تعیریف کنید، کافیه یک متغیر public در کلاس Main ( یا همون Document Class ) تعریف کنی. این متغیر در همه جای دنیات شناخته شده خواهد بود. حالا اگه میخوای تو هر لحظه موضوع مورد نظرت رو بر رسی کنی، باید یک ENTER_FRAME تو همین کلاس بنویسی. و برای مثال توش بنویسی: this.currentFrame البته راهی که هادی جان هم میگن خیلی خوبه. hamidhp 21 فروردين 1390, 07:35اگر چندتا مثال fla بگذارید خیلی عالی می شود منظور من این هست که مثلاً برای trace فریم مجبور نباشم در همه ی فریم ها کد trace(this.currentFrame); را وارد کنم البته این را برای مثال گفتم armanbm 21 فروردين 1390, 23:36بله حمید جان، طوری که من میگم هم نیازی به نوشتن دوباره ی کدت نیست. توی AS3 شما میتونید یک داکیومنت کلاس برای فایل fla خودت تعریف کنی. این فایل یه فایل معمولی نوشته با پسوند .as هست. و کد هایی که توش مینویسی بجز سه چهار خطش؛ همونایی هست که برای فریم ها مینویسی. تو شکل زیر میبینیم طرف یه کلاسی به نام externalLoader رو به عنوان داکیومنت کلاس خودش تعریف کرده. این یعنی یک فایل به نام externalLoader.as در کنار فایل fla هستش. حالا اگه یک رویداد NENTER_FRAME تغریف کنی و تو تابعش بنویسی trace(this.currentFrame); میبینی که با حرکت کردن فیلمت به جلو، عددی که تو خروجی نوشته میشه هم بیشتر میشه. حالا تو همینجا میتونی هر شرطی خواستی رو چک کنی. مثلا برخورد شی ها یا هرچی دوست داری. برای ساخت یک کلاس اکشن اسکریپت یا همون فایل .as کافی همونجایی که فایل fla رو انتخاب میکردی، حالا ActionScript رو انتخاب کنی: کد نویسی اینجوری یک دنیا بهتره! لا اقل واسه من. امیدوارم مفید واقع شده باشه. یا حق hamidhp 22 فروردين 1390, 11:54اگر آپلود کنی خیلی عالی می شود چون من آشنایی ندارم 5007: An ActionScript file must have at least one externally visible definition. armanbm 25 فروردين 1390, 12:52سلام. ببخشید دیر شد. کد کلاست باید این باشه. تو کد زیر هرجا NewClass هست جاش اسم کلاس خودت رو بزار. در این مورد باید یکم مطالعه کنی تا قلقش دستت بیاد. یکم که کار کنی برات آسون میشه. package { import flash.display.MovieClip; public class NewClass extends MovieClip { public function NewClass() { //TYPE YOUR CODE HETER } //ADD FUNCTIONS HERE } } سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 850]