سه شنبه, ۱ خرداد, ۱۴۰۳ / 21 May, 2024
مجله ویستا

اکشن اسکریپت, یک زبان شیئ گرا


اکشن اسکریپت, یک زبان شیئ گرا

دکمه ها, فریم ها و مووی کلیپ ها میتوانند اکشن اسکریپت بگیرند

● به چه چیز هایی میتوان 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(۳۰, ۵);

hamish = new Biker(۴۰, ۵);

در کد های بالا دو شیئ biker با نام های emma و hamish ساختیم . همانطور که میبینید بعد از نوشتن نام فانکشن داخل پرانتز پارامتر های تعریف شده را هم نوشته ایم.

● وراثت در اسکریپت نویسی شیئ گرا :

در اسکریپت نویسی شیئ گرا Class ها میتوانند متد ها و پراپرتی ها را به روش وراثت inheritance از همدیگر دریافت کنند . شما میتوانید وراثت را برای گسترش یا دوباره سازی متد ها و پراپرتی های یک کلاس بکار گیرید . کلاسی که ار کلاس دیگر ارث میبرد Subclass نامیده میشود .(sub به معنای زیر مجموعه است) و کلاسی که متد ها و پراپرتی هایش را به کلاس دیگر پاس میدهد superClass نامیده میشود . یک کلاس میتواند هم Subclass و هم SuperClass باشد.

نویسنده: حسین شرفی