اسکریپت
زبان های اسکریپتی برای ارائه تحولات و ایجاد پویایی در صفحات وب ایجاد شدند . این زبان ها از روی زبان های برنامه نویسی ساخته شدند و بهمین دلیل دارای تشابه بسیاری با هم هستند . این زبان ها در اصل نمونه کوچک شده زبان های مادر خود هستند . تعدادی از فرمان ها و امکانات زبان های بزرگ در این زبان ها حذف شده اند . مثلا امکان نوشتن فایل یا پاک کردن فایل ها برروی سیستم کاربر مانند زبان های برنامه نویسی وجود ندارد . البته این زبان ها برای استفاده در زمینه کاری شبکه طراحی شده اند و حذف این دستورات علل خاصی ( از جمله بالا رفتن امنیت و ... ) داشته است .
VB Script
این زبان نمونه کوچک شده زبان VB است و کسانی که با ویژوال بیسیک کار کرده اند در یاد گیری این زبان بیشتر راه را پیموده اند و کافیست تفاوت های آن را با ویژوال بیسیک یاد گیرند . این زبان برای افزودن افکت به صفحات وب نیز کاربرد دارد . ولی کاربرد برتر آن در نوشتن برنامه های سمت سرور است که بر اساس تکنولوژی ASP صورت میگیرد . این زبان به عنوان زبان پیش فرض برای نوشتن صفحات ASP است . یاد گیری این زبان برای کسانی که تا کنون برنامه نویسی نکرده اند بسیار آسان است و شروع بسیار خوبی برای ورود به دنیای برنامه نویسی است .
JAVA Script
این زبان ساختاری شبیه زبان C دارد و بیشتر برای ایجاد افکت بر روی کامپیوتر کاربر استفاده میشود (Client-side) .احتمالا تا کنون سایت هایی را دیده اید که در آن کلمه خاصی دنبال موس میدود . یا هنگام وارد شدن به آن سایت مرورگر شما در صفحه ویندوزتان میلرزد . این قبیل کد ها که فقط روی سیستم کاربر اجرا میشوند و نیازی به پردازش توسط سرور ندارند را کد های سمت کاربر (کلاینت ساید) میگویند . البته این زبان نیز قابلیت های استفاده به صورت server-side را داراست . اما چون استفاده از زبان VBS آسانتر است معمولا از VBS برای نوشتن برنامه های سرور-ساید استفاده میشود . یکی از تفاوت های این دو زبان در طرز نوشتن حروف است . در VBS تفاوتی ندارد که دستورات را با حروف کوچک یا بزرگ بنویسید ، اما در JavaScript اگر دستوری که با حروف کوچک است با حروف بزرگ بنویسید با Error در صفحات خود مواجه میشوید.برای دیدن قدرت زبان JavaScript میتوانید از سایت AnfyTeam دیدن کنید . این سایت همچنین امکان دانلود برنامه ای برای ساخت افکت های جاوا اسکریپت خود را در اختیارتان میگذارد .
قالب دستوری اکشن اسکریپت
نقطه :
در اکشن اسکریپت نقطه برای نشان دادن خواص یا متدهای وابسته به یک شیی یا سمبل مووی کلیپ استفاده میشود . همچنین برای تعیین target path در یک مووی کلیپ یا متغیر ، فانکشن یا آبجکت ها استفاده میشود . عبارت نقطه دار با نام شیئ یا کلیپ موردنظر آغاز شده ، نقطه میگذاریم و در آخر با یک المان که توسط شما تعیین میشود پایان می یابد .
بطور مثال خاصیت x که برای مووی ها میباشد مکان افقی مووی را روی صحنه مشخص میکند . مثلا عبارت ball.x نشان دهنده مشخصه x از کلیپ ball میباشد .
مثال دیگر : submit یک متغیر در کلیپ Form است که در کلیپ shop قرار دارد . عبارت shop.form.submit=True مقدار متغیر submit از form را True میکند .
مثال دیگر : عبارت ball.play(); را داریم . play یک متد از کلیپ ball است که باعت اجرای این کلیپ میشود .
نقطه همچنین با شیی مجازی _root و _parent کار میکند . شیی مستعار _root به Timeline اصلی بر میگردد. شما از این شیی میتوانید برای خلق Target path های مطلق استفاده کنید . بطور مثال عبارت زیر باعث فراخوانی فانکشن Buildgameboard در مووی کلیپ functions در Timeline اصلی میشود .
_root.functions.buildgameboard();
از شیی مجازی _parent برای مراجعه یه یک کلیپ که کلیپ کنونی در آن قرار دارد استفاده میشود . همچنین میتوانید برای ساخت target path وابسته استفاده اش کنید .
آکولاد:
عبارات اکشن اسکریپت توسط آکولاد ها گروه میشوند .به مثال زیر توجه کنید .
on(release) {
myDate = new Date();
currentMonth = myDate.getMonth();
{
سمی کالن :
عبارات زبان اکشن اسکریپت با سمی کالن پایان میابد . مثال:
column = passedDate.getDay();
row = 0;
اگر شما سمی کالن پایانی را فراموش کنید هیچ مشکلی برای اسکریپت شمل پیش نمی آید اما بهتر است برای شیوایی اسکریپت خود آنرا همیشه بگذارید .
پرانتز ها :
وقتی شما یک فانکشن تعریف میکنید ، باید پارامتر های فرستاده شده در فانکشن را در پرانتز قرار دهید . مثال :
function myFunction (name, age, reader){
...
}
همچنین برای آسانتر شدن عبارات ریاضی در اسکریپت نیز از پرانتز ها بصورت ذیل استفاده میشود .
(در زبان های برنامه نویسی اعمال ریاضی بترتیب خاصی در پراسیجر تفسیر میشوند . وقتی یک عبارت ریاضی داخل پرانتز باشد محاسبه آن قبل از بقیه عبارت صورت میگیرد . به مثال زیر دقت کنید :
Total =2+3*5 ;
Total =(2+3)*5 ;
در عبارت اولی ابتدا عمل ضرب و سپس جمع صورت میگیرد و پاسخ عدد 17 است
در عبارت دوم بعلت وجود پرانتز ابتدا پرانتز محاسه و سپس ضرب صورت میگیرد و جواب 25 است .
از پرانتز همچنین برای مقدار دهی عبارات استفاده میشود . قالب کلی آن مانند مثال زیر است :
(new Color(this)).setRGB(0xffffff);
اگر بخواهید از پرانتز استفاده نکنید باید از 2 عبارت استفاده کنید :
myColor = new Color(this);
myColor.setRGB(0xffffff);
حساسیت به حروف کوچک و بزرگ :
فقط کلمات کلیدی اکشن اسکریپت به حروف حساسند و در بقیه موارد میتوانید از هر دو حالت استفاده کنید .
شما نمیتوانید از اسم های رزرو شده اکشن اسکریپت بجای نام اشیای خود استفاده کنید .
اگر کلمات کلیدی اسکریپت را از لحاظ کوچکی و بزرگی اشتباه بنویسید اسکریپت حاصل دچار مشکل خواهد شد . keyword ها در حالت پیش فرض در پنجره اکشن به رنگ آبی هستند
کامنت نویسی :
کامنت ها کد نیستند بلکه جملاتی اند که طراح در میان کد ها برای توضیح درباره کد مینویسد تا در رجوع بعدی خود کاری که انجام داده را بیاد آورد . در اکشن اسکریپت از دو بک اسلش پشت سر هم ، برای نوشتن کامنت استفاده میشود . خطی که با // شروع شود جزو کد ها به حساب نمی آید و در کامپایل فایل فلش نادیده گرفته میشود . در نوشتن کامنت محدودیت لغتی وجود ندارد .
کلمات کلیدی :
اکشن اسکریپت تعدادی از لغات خاص را برای استفاده های خاص زبان اسکریپت برای خود رزرو کرده که شما نمیتوانید این لغات را بعنوان اسم متغیر ، فانکشن یا اسامی لیبل استفاده کنید .
این کلمات عبارتند از :
break else instanceof typeof
case for new var
continue function return void
default if switch while
delete in this with
ثابت ها :
ثابت ها چیز هایی مانند متغیر ها هستند با این تفاوت که مقدارشان هرگز تغییر نمیکند . بطور مثال ثابت های BACKSPACE, ENTER, QUOTE, RETURN از ثابت های شیی key هستند که به کلید های کیبورد مربوطند . مثلا برای اینکه بفهمید کاربر کدام کلید را فشار داده از کد زیر استفاده میکنیم .
if(Key.getCode() == Key.ENTER) {
alert = "Are you ready to play?";
controlMC.gotoAndStop(5);
}
Action Script - FScommand
چگونه در فلش فایل exe بسازیم ؟
همانطور که اکثرا میدانید برای ساخت فایل های اجرایی با فلش بعد از ساخت فایل swf به منوی فایل رفته و سپس روی گزینه publish setting کلیک میکنیم . در پنجره ای که باز میشود گزینه windows projector را تیک میزنیم . حالا برای ساخت فایل exe دکمه publish را میزنیم . فایل exe ما آماده است . اما این فایل یک فیلم فلش است که همیشه در پنجره flash player اجرا میشود . با این فرق که اجراگر فلش همراه فایل ، ضمیمه شده است و در دستگاه هایی که این player را ندارند اجرا میشود . در ضمن برای اینکه کاربر فلش شما را ببندد باید flash player آن را ببندد . حال برای اینکه یک دکمه خروج در برنامه بگذاریم چه میکنیم ؟
اکشن اسکریپت fscommand
یک دکمه روی فیلم خود بگذارید . حال آنرا انتخاب کنید و با زدن دکمه F9 پنجره Actions را باز کنید . کتاب Actions و سپس کتاب Browser/network را باز کنید و روی fscommand را دوبل کلیک کنید . حالا از منوی بازشوی سمت راست ، گزینهquit را انتخاب کنید . حال زدن این دکمه توسط کاربر در برنامه باعث بسته شدن فیلم فلش میشود ! .
اکشن اسکریپت برای full screen شدن
یک دکمه روی فیلم خود بگذارید . باز هم fscommand را دوبل کلیک کنید و اینبار از منوی سمت راست آن fullscreen را برگزینید. میبینید که در جعبه متنی بالای آن نام fullscreen و در قسمت پارامتر true نوشته شده است .این هم کد کامل آن که فلش برای شما ساخته است .
on (release) {
fscommand("fullscreen", "true");
}
اگر خواستید فیلم با زدن دکمه از حالت فوق خارج شود خودتان پارامتر true را به false تغییر دهید .
تغییر سایز فلش با سایز صفحه شما
اگر بخواهید فیلم فلش شما هنگامی که کاربر سایز FLASH PLAYER را عوض میکند ثابت بماند باید در منوی بازشوی fscommand گزینه allowscale را مساوی false قرار دهید . این هم کد کامل آن :
on (release) {
fscommand("allowscale", "false");
}
اکشن اسکریپت ، یک زبان شیئ گرا
به چه چیز هایی میتوان Action Script داد ؟
دکمه ها ، فریم ها و مووی کلیپ ها میتوانند اکشن اسکریپت بگیرند .
• برای ربط دادن یک کد اسکریپت به فریم باید ابتدا روی فریم موردنظر کلیک کنید و سپس وارد پنل اکشنز شوید و کد های خود را وارد کنید . (توجه کنید که فقط فریم هایی که فریم کلیدی باشند اکشن میپذیرند و اگر روی یه فریم معمولی کلیک کنید که فریم کلیدی نباشد اکشنی که در آن فریم وارد کنید به اولین فریم کلیدی قبل از آن فریم تعلق میگیرد) .
• برای کد دادن به یک دکمه ، ابتدا روی دکمه کلیک کنید و سپس وارد پنل اکشنز شده و کد موردنظرتان را به آن اضافه کنید .
• برای کد دادن به مووی کلیپ ها شما در اصل به یک کپی از مووی کلیپ کتابخانه که روی صفحه فلشتان است اسکریپت میدهید و بقیه کپی هایی که از سمبل روی آن کلیپ کتابخانه در صفحه می آورید از آن اسکریپت بهره نمی گیرند.(در صورتی که هنگام ویرایش مووی کلیپ اصلی ، کدی را به یکی از فریم ها یا دکمه های موجود در مووی کلیپ بدهید آن اسکریپت برای سمبل است و تمام کپی هایی که از روی آن میسازید آن کد را دارا هستند). وقتی شما یک اکشن به یک مووی کلیپ میدهید باید اکشن را در یک Event Handler قرار دهید تا در صورت رخ دادن آن Event اکشنی که داده اید اجرا شود .(Event به معنای رویداد است که در تمامی زبان های برنامه نویسی نیز به همین نام مرسوم است . رویداد یعنی رخ دادن یک اتفاق بر روی شیئ مورد نظر . مثلا رد شدن موس از روی مووی کلیپ یک رویداد است و یا کلیک روی آن یا خاتمه یافتن صدایی که به یک فریم اختصاص داده اید.).
اسکریپت نویسی شیئ گرا :
در اسکریپت نویسی شی گرا ، اطلاعات در گروه های خاصی دسته بندی میشوند که به آنها Class میگویند . شما میتوانید چندین کپی از یک کلاس را در اسکریپت خود بسازید که به هر یک از آنها یک شی (Object) میگوییم . شما میتوانید کلاس های مربوطه را خودتان بسازید و یا از کلاس های آماده فلش در پوشه Objects در پنل اکشنز استفاده کنید.
وقتی شما یک کلاس میسازید ، باید تمامی دارایی ها ( property ) و متد Method های مربوط به هر شی ای را که ساخته اید تعریف کنید. مثلا یک آدم دارای چه دارایی هایی است ؟ چشم ، دست ، مو ، و مانند آن . و دارای چه متد هایی ؟ متد راه رفتن ، خندیدن ، حرف زدن و غیره . در مثال فوق کاراکتر آدم یک کلاس است و هر کپی از روی آن یک شی خواهد بود . اشیاء در اکشن اسکریپت میتوانند اطلاعات یا گرافیک ها را حمل کنند. بطور مثال یک مووی کلیپ در فیلم فلش ما در اصل یک شی از کلاس مووی کلیپی است که در کتابخانه آن فیلم فلش قرار دارد و شامل تمام دارایی ها و متد های شی اصلی است.
برای تعریف کردن یک کلاس شما باید یک فانکشن constructorتعریف کنید بطور مثال اگر شما اطلاعاتی درباره یک دوچرخه سوار در فیلم فلش خود دارید شما میتوانید یک فانکشن از نوع constructor بنام Biker بسازید و برای آن دو پراپرتی زمان و فاصله تعریف کنید و یک متد Getspeed که این متد سرعت دوچرخه سوار را در هر لحظه که فراخوانی شود میدهد .
function Biker(t, d) {
this.time = t;
this.distance = d;
this.getSpeed = function() {return this.time / this.distance;};
}
در مثال بالا یک فانکشن ساختیم که دو متغیر برای دریافت اطلاعات بنام های t , d دارد .وقتی شما این فانکشن را برای ساخت یک کپی از شی آن فراخوانی میکنید باید پارامتر های تعریف شده را نیز بهمراه نام فانکشن وارد کنید . به مثال زیر توجه کنید:
emma = new Biker(30, 5);
hamish = new Biker(40, 5);
در کد های بالا دو شیئ biker با نام های emma و hamish ساختیم . همانطور که میبینید بعد از نوشتن نام فانکشن داخل پرانتز پارامتر های تعریف شده را هم نوشته ایم.
وراثت در اسکریپت نویسی شیئ گرا :
در اسکریپت نویسی شیئ گرا Class ها میتوانند متد ها و پراپرتی ها را به روش وراثت inheritance از همدیگر دریافت کنند . شما میتوانید وراثت را برای گسترش یا دوباره سازی متد ها و پراپرتی های یک کلاس بکار گیرید . کلاسی که ار کلاس دیگر ارث میبرد Subclass نامیده میشود .(sub به معنای زیر مجموعه است) و کلاسی که متد ها و پراپرتی هایش را به کلاس دیگر پاس میدهد superClass نامیده میشود . یک کلاس میتواند هم Subclass و هم SuperClass باشد .
اکشن اسکریپت : متغیر های رشته ای ، عددی و بولین و نال
رشته چیست ؟
رشته مجموعه ای از کاراکتر هاست که در کنار هم قرار گرفته اند و میتواند شامل حروف و اعداد و کاراکتر های نقطه گذاری باشند . برای نوشتن رشته ها باید آنها را در میان کوتیشن قرار داد. مثلا : “Mediax”
شما میتوانید از عملگر + جهت متصل کردن دو رشته به هم استفاده کنید . اکشن اسکریپت فاصله ها را در ابتدا یا انتهای رشته ها جزو رشته به حساب می آورد . یعنی هر فاصله دقیقا مانند یک کاراکتر از رشته است . گر چه در اکشن اسکریپت متغیر ها ، نام اشیاء و لیبل فریم ها حساس به بزرگی یا کوچی حروف نیستند ، اما در مورد رشته ها این خاصیت برقرار است .در مثال زیر جملات نوشته شده خروجی های گوناگونی را نشان میدهند . چون دو لغت “macro”و “MACRO” دو رشته واقعی هستند :
invoice.display = "macro";
invoice.display = "MACRO";
برای نشان دادن کوتیشن در یک رشته ، باید قبل از آن یک کاراکتر بک اسلش بگذارید . به اینکار میگویند فرار (Escaping) کاراکتر . کاراکترهای دیگری هم هستند که در اکشن اسکریپت نشان داده نمیشوند مگر اینکه از روش های فرار کاراکتر خاص آنها استفاده کنید . جدول زیر تمامی کاراکتر های استفاده برای فرار یک کاراکتر را نشان میدهد :
Escape sequence Character
\b Backspace character (ASCII 8)
\f Form-feed character (ASCII 12)
\n Line-feed character (ASCII 10)
\r Carriage return character (ASCII 13)
\t Tab character (ASCII 9)
\" Double quotation mark
\' Single quotation mark
\\ Backslash
\000 - \377 A byte specified in octal
\x00 - \xFF A byte specified in hexadecimal
\u0000 - \uFFFF A 16-bit Unicode character specified in hexadecimal
اعداد :
نوع داده ای عدد از نوع داده ای بسیار دقیق شناور میباشد . شما میتوانید از عملگر های حسابی زیر جهت عملیات ریاضی استفاده کنید :
+ جمع
- تفریق
* ضرب
/ تقسیم
% به پیمانه
++ افزایش
ـ ـ کاهش
• توجه : ++ جهت افزودن یک واحد به یک متغیر عددی کاربرد دارد . بیشترین استفاده از آن نوشتن i++ بجای i=i+1 میباشد . این عملگر هم قبل و هم بعد از نام متغیر عددی استفاده میشود . در مثال زیر متغیر age ابتدا یک واحد اضافه شده و سپس با عدد 30 چک میشود .
if (++age >= 30)
اما در مثال زیر age بعد از انجام عمل مقایسه اضافه میشود .
if (age++ >= 30)
همچنین میتوانید از متد های آماده آبجکت ریاضی اکشن اسکریپت برای دستکاری اعداد استفاده کنید . در مثال زیر ازمتد sqrt جهت جذر گرفتن از عدد داده شده استفاده کرده ایم :
Math.sqrt(100);
نوع داده بولین :
یک مقدار بولین مقداریست که دو حالت بیشتر نداره ، یا true یا false . اکشن اسکریپت این دو مقدار را به دو مقدار 1 و 0 نیز تبدیل میکند . مقادیر بولین معمولا با عملگر های منطقی در جملات اکشن اسکریپت استفاده میشوند که باعث انجام مقایسه ای برای اجرای کد بعدی میشود . بطور مثال در کد زیر فیلم در صورتی اجرا میشود که متغیر Password مقدارش true باشد
onClipEvent(enterFrame) {
if (userName == true && password == true){
play();
}
}
نوع داده تهیNULL) ) :
این نوع داده فقط یک مقدار دارد و آنهم NULL است به معنای پوچ ، یعنی هیچ داده ای وجود ندارد. این نوع داده برای تفاوت قائل شدن بین وضعیت های گوناگون کاربرد دارد . چند مثال :
• برای اینکه نشون بده هنوز یک متغیر مقدار دهی نشده یا اینکه در این لحظه هیچ مقداری نداره .
• برای هنگامی که میخواهید در یک فانکشن مقدارش را چک کنید تا در صورت وجود ارسال شود .
• و ...
نوع داده ای تعریف نشده ( Undefined) :
این نوع داده نیز فقط یک مقدار دارد که Undefined است و برای متغیر ها استفاده میشود که هنوز مقداری نگرفته اند .
اکشن اسکریپت : کنترل در زمان اجرا
وقتی شما یک اکشن اسکریپت مینویسد ،از پنل Actions برای ضمیمه کردن کد ها به فریم یا دکمه یا مووی کلیپ ها استفاده میکنید . اسکریپت هایی که به فریم ها ضمیمه میکنید زمانی اجرا میشوند که هد اجرایی فلش وارد آن فریم شود . اما فریم اول فیلم فلش بگونه ای متفاوت از سایر فریم ها عمل میکند . چون اولین فریم فیلم فلش کم کم لود میشود و اشیاء در آن همینطور که دانلود میشوند نمایش داده میشوند و این موضوع بر روی اجرای اسکریپت ها اثر میگذارد . اما فریم های بعد از فریم اول تا وقتی تمام اشیاء داخل آن فریم لود نشوند نمایش داده نمیشوند .
اسکریپت هایی که به مووی کلیپ یا دکمه ها نسبت داده شده اند زمانی اجرا میشوند که رویداد (event) خواسته شده اتفاق افتد . یک رویداد یک اتفاقی است که توسط کاربر یا گاهی توسط فیلم فلش شما اتفاق می افتد ، مانند کلیک کردن موس ، فشردن یک دکمه از کیبورد ، و یا لود شدن یک مووی کلیپ ( این آخری توسط فیلم اتفاق افتاده) . شما میتوانید بر اساس رویداد هایی که رخ میدهد کد های متفاوتی بنویسید تا در هنگام رخ دادن هر رویداد یک کد خاص اجرا گردد .
اکشن هایی که به دکمه ها یا مووی کلیپ ها نسبت میدهید در اکشن های خاصی بنام Handler حبث میشوند .on و onClipEvent دوHandler هستند . شما میتوانید یک یا بیش از یک Event را در یک Handler قرار دهید و همچنین میتوانید بیش از یک Handler برای هر شیئ قرار دهید . هندلر onClipEvent برای مووی کلیپ و هندلر on برای دکمه هاست . همچنین شما میتوانید از on برای خلق مووی کلیپ دکمه ای استفاده کنید که رویداد های دکمه را دریافت میکند .
رویداد های مووی کلیپ و دکمه ها میتوانند توسط متد های خود شیئ نیز بکار گرفته شوند . شما باید یک فانکشن تعریف کنید و آن را به متد Event Hadler ارجاع دهید . این فانکشن وقتی که رویداد اتفاق بیافتد اجرا میشود .
جدول زیر متد ها و Event Handler های دکمه ها را نشان میدهد :
Event handler actions Event handler methods
on (press) onPress
on (release) onRelease
on (releaseOutside) onReleaseOutside
on (rollOver) onRollOver
on (rollOut) onRollOut
on (dragOver) onDragOver
on (dragOut) onDragOuot
on (keyPress"...") onKeyDown, onKeyUp
جدول زیر متد ها و Event Handler های مووی کلیپ ها را نشان میدهد :
Event handler actions Event handler methods
onClipEvent (load) onLoad
onClipEvent (unload) onUnload
onClipEvent (enterFrame) onEnterFrame
onClipEvent (mouseDown) onMouseDown
onClipEvent (mouseUp) onMouseUp
onClipEvent (mouseMove) onMouseMove
onClipEvent (keyDown) onKeyDown
onClipEvent (keyUp) onKeyUp
onClipEvent (data) onData
با اکشن اسکریپت همچنین میتوانید رویداد های TEXTbox و دیگر اشیاء اکشن اسکریپت را کنترل کنید.
اکشن اسکریپت - متغیر ها در فلش
اکشن اسکریپت - متغیر ها در فلش :
متغیر چیست ؟
یک متغیر یک نگه دارنده اطلاعات است که بخشی از حافظه را بنام خود میکند تا شما بتوانید داخلش مقدار های متفاوتی را بنویسید و پاک کنید . متغیر خودش ثابت میماند اما مقدار داخلش تغییر میکند .برای نگه داشتن مقادیر انجام شدن یک کار خاص یا گرفتن اطلاعات از کاربر ، اول اطلاعات به حافظه رم کامپیوتر منتقل میشود که اینجا متغیر ها هستند که نقش نگه داری اطلاعات را انجام میدهند .
یک ایده خوب در بکار گیری متغیر ها اینه که همون اول که متغیر را تعریف میکنیم یه مقدار اولیه بهش بدیم . به اینکار میگویند initialize کردن . اینکار را معمولا در فریم اول انجام میدن .
متغیر ها میتوانند انواع مختلفی از اطلاعات را در خود نگه دارند مانند اعداد ، رشته ها ، مقادیر بولین ، آبجکت ها یا مووی کلیپ ها .
نام گذاری متغیر ها :
نام یک متغیر از قوانین زیر پیروی میکند :
• باید اسم آن نشان دهنده نوع آن باشد .
• نام متغیر نمیتواند از بین keyword های اکشن اسکریپت باشد . همچنین نمیتواند از کلمات تعیین کننده مانند true , false , null و undefiend باشد.
• نام متغیر باید در محیط خودش یکتا باشد .
مقدار دهی متغیر :
در فلش نیازی نیست که نوع متغیر را در ابتدای کار تعیین کنید . فلش هنگامی که شما به آن مقدار میدهید نوع متغیرش را تعیین میکند.
X = 3 ;
در عبارت فوق ، فلش داده سمت راست مساوی را تعیین هویت میکند و میفهمد که نوع آن عدد است . یک مقدار دهی دیگر میتواند نوع x را عوض کند . مثلا x = “hello”; مقدار x را به نوع رشته ای تغییر میدهد . متغیری که هنوز هیچ داده ای به آن نداده ایم نوع undefiend دارد .
وقتی یک عبارت اکشن اسکریپت یک متغیر را با نوع داده ای خاصی طلب میکند ، اکشن اسکریپت بصورت اتوماتیک نوع آن را تغییر میدهد تا نوع داده ای مطلوب حاصل شود . بطور مثال وقتی شما مقداری را به دستور trace میدهید مقدارش به نوع داده رشته ای تغییر میکند و سپس آن را نمایش میدهد . در عبارت هایی که عملگر های ریاضی و مانند آن قرار دارند اکشن اسکریپت متغیر ها را به نوع داده ای مورد نیاز تبدیل میکند . مثلا در عبارت زیر 7 یک عدد است که برای جمع با رشته تبذیل به رشته میشود .
"Next in line, number " + 7
پس از تبدیل جواب جمع رشته بصورت زیر در میاید :
"Next in line, number 7"
وقتی شما اسکریپت هایتان را اشکال زدایی میکنید نگاهی به نوع متغیرها بیندازید.
کد زیر نوع متغیر را اعلام میکند
trace(typeof(نام متغیر));
قلمرو یک متغیر :
قلمرو یک متغیر به محدوده ای میگویند که آن متغیر در آن شناسایی میشود و میتوان به آن دسترسی داشت . سه نوع قلمرو برای متغیر ها در اکشن اسکریپت موجود است .
• متغیر های local (محلی) : این متغیرهادر بلوک کد خودشان قابل دسترسی هستند (که بلوک کد آنها با آکولاد محصور میشود) .
• متغیر های Timeline : که در هر تایم لاینی که از Target path استفاده کنید قابل دسترسی هستند .
• متغیر های عمومی (global) : که در هر تایم لاینی قابل دسترسی است . حتی اگر از target path استفاده نکرده باشید .
برای اعلام کردن یک متغیر(declare) میتوانید از عبارت var استفاده کنید . بطور مثال متغیر های j و i معمولا برای استفالده در حلقه ها استفاده میشوند (البته هر اسمی میشه گذاشت ، فکر نکنی اسمش چیز خاصی داره ها .. اما خوب برنامه نویسا به یه سری اسامی عادت کردن دیگه) .
در کد زیر i به عنوان یک متغیر محلیبگار رفته که فقط در فانکشن makedays وجود دارد .
function makeDays() {
var i;
for( i = 0; i < monthArray[month]; i++ ) {
_root.Days.attachMovie( "DayDisplay", i, i + 2000 );
_root.Days[i].num = i + 1;
_root.Days[i]._x = column * _root.Days[i]._width;
_root.Days[i]._y = row * _root.Days[i]._height;
column = column + 1;
if (column == 7 ) {
column = 0;
row = row + 1;
}
}
}
فرمت این مقاله به صورت Word و با قابلیت ویرایش میباشد
تعداد صفحات این مقاله 21 صفحه
پس از پرداخت ، میتوانید مقاله را به صورت انلاین دانلود کنید
دانلود مقاله زبان برنامه نویسی Action Script