یکی از اعضا در باره دسترسی یه متغییر ها سوالی مطرح کرده بود که من سعی کردم تا اندازه ای جواب ایشون
رو بدم و خوب وقتی نوشتم این شد گفتم شاید برای دیگران هم جذاب باشه پس اینطوری شد که این مطلب
اولین مبحثی است که من آغاز می کنم و اگه دوست داشتین خوب ادامه بدین ما هم یاد می گیریم .
variable یا همون متغییر در فلش خیلی ساختار پیچیده و سخت گیرانه ای رو نداره و در هر جای Time line و
در هر MC شما هر چی نوشتین با یه علامت مساوی فلش به عنوان متغییر و بعضی وقتها Object در نظر می گیره اما نکته اینجاست که چطور به اینا دست رسی پیدا کنیم
تعریف متغیر
برای تعریف متغییر حتما از " var " کنید
زمانی که متغییری بدون تعیین مقدار اولیه تعریف شود مقدار آن undefined خواهد بود و برای فلش این عبارت
با "false" برابر است .
در صورتی که نوع data مشخص نشود در زمان Compile فلش سعی می کند از روی نوع data سمت راست
نوع اطلاعات متغییر را حدس بزند . سعی کنید حتما نوع متغییر را همان ابتدا تعریف کنید
در این صورت امکان استفاده از Hint یا code completion فلش خواهد بود و درصد اشتباه در برنامه نویسی رو
پایین خواهد آورد .
متغیر Local
زمانی که شما متغییری رو در خود Time Line و در Root تعریف کنید این متغییر در هر کجای Time Line و در خود
Root قابل دسترسی است و همینطور در داخل یک MC هم متغییری که در Time Line تعریف شده در داخل اون
MC و با فراخوانی نامش قابل دست رسی ست
اما در صورتی که بخواهید از یک MC تغییری را در Root فرا بخوانید و بلعکس باید نام Local را به Compiler فلش
بدهیم دقیقا مثل زمانی کهبه MC های درون یک MC با دادن نام MC مادر و یا Local دسترسی پیدا می کنیم
تعریق متغییر در Root
فراخوانی از MC
و یا تعریف درMC و فراخوانی از Root
متغییر Global
"global property_" خاصیتی است که شما به یک متغییر می دهید و امکان دستیابی به آن را در همه نقاط SWF
خواهید داشت مثلا
برای تعریف متغییر Global از عبارت var نباید استفاده کنید در صورت استفاده با Syntax error مواجه خواهید شد .
این متغییر در هر جایی به همین صورت قابل دست رسی است مثلا در داخل یک MC
خاصیت global_ تنها برای متغیر نیست و برای تابع و Object و Array و غیره قابل استفاده است
مثلا
حالا اینجوری هرکجا که خواستید فراخوانی کنید
نکته : در صورت امکان از این خاصیت کم تر استفاده کنید و از همان تعرف Local استفاده کنید
در صورتی که بتوانید خوب با متغییر ها کار کنید می تواید به راحتی بسیاری از مشکلات برنامه نویسی خودتون رو حل کنید فقط مهم اینه که تلاش کنید تا یاد بگیرید و بعد درست استفاده کنید .
آخرش اینکه من عاشق این Trace ام !
Take Care
رو بدم و خوب وقتی نوشتم این شد گفتم شاید برای دیگران هم جذاب باشه پس اینطوری شد که این مطلب
اولین مبحثی است که من آغاز می کنم و اگه دوست داشتین خوب ادامه بدین ما هم یاد می گیریم .
variable یا همون متغییر در فلش خیلی ساختار پیچیده و سخت گیرانه ای رو نداره و در هر جای Time line و
در هر MC شما هر چی نوشتین با یه علامت مساوی فلش به عنوان متغییر و بعضی وقتها Object در نظر می گیره اما نکته اینجاست که چطور به اینا دست رسی پیدا کنیم
تعریف متغیر
برای تعریف متغییر حتما از " var " کنید
زمانی که متغییری بدون تعیین مقدار اولیه تعریف شود مقدار آن undefined خواهد بود و برای فلش این عبارت
با "false" برابر است .
کد:
var name;
نوع اطلاعات متغییر را حدس بزند . سعی کنید حتما نوع متغییر را همان ابتدا تعریف کنید
کد:
var name:String="CMAX"
پایین خواهد آورد .
متغیر Local
زمانی که شما متغییری رو در خود Time Line و در Root تعریف کنید این متغییر در هر کجای Time Line و در خود
Root قابل دسترسی است و همینطور در داخل یک MC هم متغییری که در Time Line تعریف شده در داخل اون
MC و با فراخوانی نامش قابل دست رسی ست
اما در صورتی که بخواهید از یک MC تغییری را در Root فرا بخوانید و بلعکس باید نام Local را به Compiler فلش
بدهیم دقیقا مثل زمانی کهبه MC های درون یک MC با دادن نام MC مادر و یا Local دسترسی پیدا می کنیم
تعریق متغییر در Root
کد:
var city:String ="Shiraz"
کد:
trace (_root.city)
کد:
trace (MC.city)
متغییر Global
"global property_" خاصیتی است که شما به یک متغییر می دهید و امکان دستیابی به آن را در همه نقاط SWF
خواهید داشت مثلا
کد:
_global.Kent=true
کد:
_global.Tea=_root.Coffee
این متغییر در هر جایی به همین صورت قابل دست رسی است مثلا در داخل یک MC
کد:
if (_global.Kent)
{
trace("May Be Some Other Time");
}
خاصیت global_ تنها برای متغیر نیست و برای تابع و Object و Array و غیره قابل استفاده است
مثلا
کد:
_global.getSeason = function(n:Number)
{
if (n == 8)
{
return ("Worst Season");
}
else if (n>8)
{
return ("Lovely Season");
}
else
{
return ("Busy Season");
}
};
حالا اینجوری هرکجا که خواستید فراخوانی کنید
کد:
trace (getSeason(8))
نکته : در صورت امکان از این خاصیت کم تر استفاده کنید و از همان تعرف Local استفاده کنید
در صورتی که بتوانید خوب با متغییر ها کار کنید می تواید به راحتی بسیاری از مشکلات برنامه نویسی خودتون رو حل کنید فقط مهم اینه که تلاش کنید تا یاد بگیرید و بعد درست استفاده کنید .
آخرش اینکه من عاشق این Trace ام !
Take Care
آخرین ویرایش: