PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزشی اکشن اسکریپت (Action Script)



آبجی
28th May 2010, 01:15 AM
نقطه :
در اكشن اسكريپت نقطه براي نشان دادن خواص يا متدهاي وابسته به يك شيي يا سمبل مووي كليپ استفاده ميشود . همچنين براي تعيين 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);



}

http://www.macromediax.com :منبع

آبجی
28th May 2010, 01:17 AM
تفاوت سمبل های Graphic و Movie در فلش :

سمبل های گرافیک معمولا برای ساخت سمبل های ثابت استفاده میشوند و سمبل های movie برای ساخت سمبل های متحرک . ولی اگر به پنجره ویرایش یک سمبل گرافیک بروید میبینید که دارای Timeline است .ولی کاربرد آن در سمبل گرافیک کمی با سمبل Movie فرق دارد. اگر شما یک سمبل Movie متحرک درست کنید میتوانید از آن در یک فریمی که فیلم stop میشود استفاده کنید و این کلیپ در آن فریم حرکت خود را خواهد داشت ، با اینکه فیلم فلش شما ایستاده است. اما اگر در یک سمبل گرافیک ، یک قطعه متحرک بوجود آورید سمبل شما تا وقتی متحرک است که فیلم فلش شما در حال اجراست و به محض ایستادن فیلم در هر فریمی ، آن سمبل نیز از حرکت می ایستد و بصورت ثابت دیده میشود.

استفاده از یک سمبل در سمبل دیگر :
در هنگام import کردن یک عکس در فیلم فلش چند نکته مهم هست .
1-عکس را در کوچکترین سایز ممکن وارد فلش کنید . چون اگر عکس بزرگی را وارد کنید و در فلش با ابزار های transform آن را کوچک کنید علاوه بر افزایش حجم فایل شما ، آن عکس نیز با شفافیت کامل دیده نمی شود.
2-شما میتوانید از عکس هایی که وارد فلش کردید ، سمبل بسازید و سمبل آن را در فیلم فلش نمایش دهید . اینکار باعث میشود ابزار های بیشتری برای کار روی عکس داشته باشید . مثلا از روی عکستان سمبل گرافیک بسازید و آن را وارد صفحه فلش کنید . حالا یک Motion Tween بسازید از این سمبل گرافیک . در فریم کلیدی آخر آن کلیک کنید و سپس روی سمبل گرافیک کلیک کنید . حالا در پنجره properties از منوی بازشوی color گزینه alpha را برگزینید و مقدارش را صفر کنید . خوب ، فیلم فلشتان را اجرا کنید ، میبینید که سمبل شما آرام آرام در صفحه محو میشود .
3-توجه داشته باشید که فلش هنگام ساختن سمبلی از روی سمبل دیگر ، عکس یا شکل های سمبل اولی را در سمبل ساخته شده کپی نمی کند . بلکه سمبل اولی را در سمبل ساخته شده نشان میدهد . بنا بر این پاک کردن سمبل اولی باعث خراب شدن سمبل هایی میشود که سمبل اولی در آنها بکار رفته است.

تغییر خواص سمبل ها با اسکریپت
ما سه نوع سمبل داریم –graphic , movie , botton - از بین این سمبل ها میتوان خواص دو سمبل دکمه و مووی(متحرک ) را براحتی کنترل کرد . برای کنترل هر شیی ابتدا باید نامی به آن بدهیم تا در کد نویسی با آن نام شیئ را خطاب کنیم . روی سمبل مورد نظرتان کلیک کنید و در پنجره properties در سمت چپ یک کادر متنی کوچک میبینید که داخل آن با حروف کمرنگ نوشته شده : instance name روی آن کلیک کنید و نامی برای شیی خود بگذارید . حالا یک دکمه روی فرم بگذارید و کد زیر را برای آن بنویسید ( کد زیر را در حالت expert وارد کنید)



On (release) {



Setproprty(“object ,_alpha,33);



}



درکد فوق object نام شیی مورد نظر و alpha نام خاصیت مورد نظر و 33 مقدار داده شده به خاصیت آلفا میباشد . خاصیت آلفا همانطور که میدانید میزان پدیدار بودن شیئ را تعیین میکند و کم کردن آن باعث محو شدن شیی میشود .
خواص دیگری که میتوانید مقدارشان را تعیین کنید عبارتند از :
_rotate میزان چرخش شیی
_height ارتفاع سمبل
_width طول سمبل
_x,_y نیز محل قرار گیری سمبل در صفحه هستند .
_visible نیز قابل دید بودن یا نبودن شیئ را معلوم میکند که باید مقدار آنرا بجای عدد ، True یا False بگذارید .

آبجی
28th May 2010, 01:19 AM
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");
}

آبجی
28th May 2010, 01:20 AM
اکشن اسکریپت ، یک زبان شیئ گرا


به چه چيز هايي ميتوان Action Script داد ؟
دكمه ها ، فريم ها و مووي كليپ ها ميتوانند اكشن اسكريپت بگيرند .


<LI class=MsoNormal dir=rtl style="MARGIN: 0in 0in 0pt; tab-stops: list .5in; mso-list: l0 level1 lfo1">براي ربط دادن يك كد اسكريپت به فريم بايد ابتدا روي فريم موردنظر كليك كنيد و سپس وارد پنل اكشنز شويد و كد هاي خود را وارد كنيد . (توجه كنيد كه فقط فريم هايي كه فريم كليدي باشند اكشن ميپذيرند و اگر روي يه فريم معمولي كليك كنيد كه فريم كليدي نباشد اكشني كه در آن فريم وارد كنيد به اولين فريم كليدي قبل از آن فريم تعلق ميگيرد) . <LI class=MsoNormal dir=rtl style="MARGIN: 0in 0in 0pt; tab-stops: list .5in; mso-list: l0 level1 lfo1">براي كد دادن به يك دكمه ، ابتدا روي دكمه كليك كنيد و سپس وارد پنل اكشنز شده و كد موردنظرتان را به آن اضافه كنيد .
براي كد دادن به مووي كليپ ها شما در اصل به يك كپي از مووي كليپ كتابخانه كه روي صفحه فلشتان است اسكريپت ميدهيد و بقيه كپي هايي كه از سمبل روي آن كليپ كتابخانه در صفحه مي آوريد از آن اسكريپت بهره نمي گيرند.(در صورتي كه هنگام ويرايش مووي كليپ اصلي ، كدي را به يكي از فريم ها يا دكمه هاي موجود در مووي كليپ بدهيد آن اسكريپت براي سمبل است و تمام كپي هايي كه از روي آن ميسازيد آن كد را دارا هستند). وقتي شما يك اكشن به يك مووي كليپ ميدهيد بايد اكشن را در يك 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 باشد .

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد