Only_flash
Member
سلام من اين قسمت رو توي سايت Persiantoolsهم گذاشتم .
اينجا هم ميگذارمش هر كي تونست نظر بده.
تشكر
------------------------------------------------------------
شروع كار با Action Script:
------------------------------------------------------------
ُSyntax
------------------------------------------------------------
بزبان ساده گرامر يك زبان برنامه نويسي را گوئيم.
شايد بتوان گفت مهمترين عامل در سهل كردن كار با يك زبان برنامه نويسي ياد گرفتن Syntaxاست.
--نقطه"Dot":
در اكشن اسكريپت نقطه براي براي نمايش Propertyها Methodها ومسيردهي يكObjectبكار ميرود.
بعنوان مثال براي مسير دهي يك شئ كه در Timelineاصلي قرار دارد و نام آنرا"Obj_1"گذاشته ايم بصورت زير عمل ميكنيم:
يا براي تعريف خاصيت "موقعيت رو محور xها براي همان شئ بصورت زير عمل ميكنيم:
توجه:
تمامي Propertyها با underlineشروع ميشوند.
و براي تعريف يك متد نيز بصورت مشابه عمل ميكنيم.
بعد از هر دستور شرط ها را داخل پرانتز و دستور را داخل آكولاد{}مينويسيم.
در صورتيكه شرطي نداشته باشيم بعد از دستور پرانتز هاي باز وبسته و پس از آن سمي كالن يا نقطه ويرگول ميگذاريم";"
حساسيت به حروف Capital:
كلمات كليدي ASبه حروف كوچك و بزرگ حساسند.
بعنوان مثال دستور Stopبعنوان يك دستور تماما با حروف كوچك نوشته ميشوند ولي بعنوان متد بصورتStop();نوشته ميشود.
------------------------------------------------------------
Events
------------------------------------------------------------
اتفاقاتي هستند كه روي ميدهند!
البته در ASتمامي اتفاقات معلول كد هاي نوشته شده هستند و هيچ اتفاقي به خودي خود روي نمي دهد.
در AS2قطعه برنامه اي بنام Event handlerكنترل رويداد ها را بر عهده دارد.
**اتفاقات در چه صورت رخ ميدهند؟
1-در صورتيكه كدهاي AS2روي يك فريم نوشته شوند به محض اينكه Play headبه آن فريم ميرسد رخ ميدهند"key Frame events"
2-در صورتيكه يك ويژگي از Movie clip را براي كد تعريف كرده باشيم-بعنوان مثال loadشدن يك Movie.""Movie events.
3-در صورتيكه عمل خاصي از ماوس سر زند كه به آن "Mouse events"ميگويند.
4-و...
------------------------------------------------------------
targetting
------------------------------------------------------------
مسير دهي عامل مهمي در اجراي كدهاست چرا كه در صورت تايپ مسير نادرست برنامه به درستي اجرا نخواهد شد
مسير دهي بر چند نوع است:
*******1-مسير دهي پايه اي با _root:
مبناي اين گونه مسير دهي Time lineاصلي پروژه ميباشد كه از آنجا ميتوان به Time lineهاي ديگر Movie clipها راه يافت.
//مثال:
بعنوان مثال ميخواهيم از Movie clipاي به نام test_mcكه در Time lineاصلي قرار دارد Movie clipديگري بنام test2_mcرا در فريم اول متوقف كنيم و اين عمل بايد در فريم 12Time lineاصلي اتفاق بيفتد.
پس بايد عمليات زير را انجام دهيم:
1-در Time line اصلي يك لايه جديد بنام ASميسازيم.
2-در فريم 12آن يك key frameميسازيم.
3-دستور زير را براي آن تعريف ميكنيم:
*******2-مسير دهي نسبي:
مسير دهي نسبي با دو دستور _parentو thisعمل ميكند.
_parentما را به يك Time line عقب تر ميبرد.
بديهي است كه _parent._parentما را به دو Time line عقب تر ميبرد.
this موقعيت ما را نسبت به Time lineاي كه در آن هستيم مشخص ميكند.
------------------------------------------------------------
Operators
------------------------------------------------------------
عملگز ها بخش مهمي در محاسبات رياضي و منطقي هستند كه برخي از آنها عبارتند از:
==:برابر بودن دو رشته
>:كوچكتر بودن
<:بزرگتر بودن
=:برابر بودن/اختصاص دادن
:>=كوچكتر مساوي
:<=بزرگتر مساوي
!=:نامساوي بودن
&&:و
||:يا
-----------------------------------------------------------
Variables
-----------------------------------------------------------
متغير ها ميتوانند يك مقدار يا stringرا به خود اختصاص دهند.
در Flashبه اين عناصر Movie clipهم اضافه شده;
يادآوري :براي اختصاص دادن يك نام به variableآنرا با يك علامت مساوي ،مساوي با متغير مورد نظر قرار ميدهيم.
براي اختصاص دادن Stringبه متغير بين آنها دو مساوي قرار ميدهيم.
براي اضافه كردن يك به يك متغير عددي بعد از آن ++قرار ميدهيم.
يعني:
n++=n+1
-----------------------------------------------------------
Bolean Variables
-----------------------------------------------------------
متغيري كه فقط دو مقدار TrueوFalseرا بخود ميگيردرا متغير بولي گوييم.
از اين متغير ميتوانيم در شرط ها استفاده كنيم.
*******مثال:
در اين مثال چون var1=trueدستورات زير مجموعه ifاجرا ميشوند نه else.
-----------------------------------------------------------
Mouse events
-----------------------------------------------------------
PRESS=فشردن
RELEASE=رها كردن
KEYPRESS=فشردن يك كليد از KEY BOARD
و...
اين EVENTها در دستور ONبكار ميروند
*******مثال:
-----------------------------------------------------------
Comments
-----------------------------------------------------------
خطوطي هستند كه براي فهم و درك آسانتر دستورات ACTION SCRIPTبه اكشنها اضافه ميكنيم و نقشي در اكشنها ندارند.
براي افزودن يك COMMENT كافيست در سطر مربوطه توضيح مورد نظرمان را بين دو علامت دابل اسلاش قرار دهيم.
اين عمل براي غير فعال كردن دستورات نيز ميتواند مفيد باشد يعني دستورات مورد نظر خود را براي غير فعال كردن ميتوانيم بين دو علامت دابل اسلاش قرار دهيم
اگر بخواهيم بلاك كدي را غير فعال كنيم اول بلاك كد يك */وآخر آن يك/* ميگذاريم
براي فعال كردن يك بلاك كد غير فعال هم اين علامات را از ابتدا و انتهاي آن بر ميداريم
----------------------------------------------------------
Output panel
----------------------------------------------------------
با فشردن كليدF2ميتوانيم اين پنجره را فعال كنيم
تقريبا تمامي فعاليت هاي پروژه فلش را كنتزل كرده و نتيجه تمامي ERRORها را اعلام ميكند
اكشني كه به ديدن نتايج در اين پنجره منتهي ميشود TRACEاست.
*******مثال:
كه در پنجره OUTPUTبه ما مقدار 4 را ميدهد
----------------------------------------------------------
حركت در Time line
----------------------------------------------------------
براي رفتن به فريم بعدي درTIMELINE از
و براي رفتن به فريم قبلي از
براي توقف نمايش از
براي حركت از
استفاده ميكنيم.
براي رفتن به يك فريم خاص در يك صحنه خاص از متد GOTOاستفاده ميكنيم.
اين متد داراي دو Option ميباشد كهPlayو Stopميباشند.
ساختار اين دستور:
كه در قسمت frameميتوان نام فريم(label)يا شماره آنرا نوشت.
دقت كنيد كه نام يك فريم يا يك صحنه بايد داخل علامت""(كوتيشن)باشد.
--------------------------------------------------------
Property
--------------------------------------------------------
يك جزء يا يك موقعيت از يك شئ را خصيصه آن ميگوييم.
---خصوصيات عمومي:
1-IDيا Instance name:شاخصه اي كه براي يك objectتخصيص ميدهيم.
2-مختصات برداري:
x_:مختصات روي محور xها
y_:مختصات روي محور yها
توجه:مبداء مختصات در گوشه پايين سمت چپ قرار دارد و مختصات مركز صفحه1500,1500))ميباشد.
مثال:
دراين مثال اگر روي دكمه اي در هر كجا نوشته شود در صحنه اصلي objectما را به موقعيت X,Y))ميبرد.
3-مقياس(scale):
xscale_:مقياس طول
yscale_:مقياس عرض
4-آلفا:
_alpha:شفافيت رنگ را تنظيم ميكند.
5-height
6-name
7-rotation
8-width
و....
------------------------------------------------------
ياد آوري Text fields
------------------------------------------------------
ُStatic text:متن غير قابل تغيير يا ايستا
Dynamic text:متن قابل تغيير يا پويا
Input text:متن ورودي!
اين خصوصيات را ميتوان در پنجره proprtiesيك فيلد متني يافت.
ميتوانيم در مشخصات فيلد متني نام متغيرمان را هم وارد كنيم.
براي استفاده از متغير هايي كه در Time lineهاي مختلفند بايد آدرس دهي كرد.
Input text:براي دريافت اطلاعات از كاربر استفاده ميشود.
-------تبديل متغير رشته اي به متغير عددي:
ساختارهاي شرطي
------------------------------------------------------
1-ساختار If else:
[2-ساختارif else if:
در اين ساختار در صورتيكه شرط اول درست نباشد در قسمت else به شرط دوم ميپردازيم.
اگر شرط اول بر قرار باشد ديگر به شرط دوم نمي رسيم.
نكته:به خاطر داشته باشيد كه براي تست برابر بودن دو مقدار بين آنها == قرار ميدهيم(براي stringها).
در اين مدل شرط ميتوانيم چند else ifداشته باشيم.
--دستور Switch:
دستوري است براي راحت تر ساختن ساختار شرطي
توضيح:
در داخل پرانتز دستور نام متغير را وارد ميكنيم و در جلوي هر يك از caseها مقدار متغير را وارد ميكنيم.
يعني اگر متغير برابر مقدار 1 باشد commands1اجرا شود.
*******مثال:
يعني اگر هيچكدام از شرطها صحيح نبود defaultاتفاق بيفتد.
توجه :حلقه whileو do whileو نيز بعضي از حلقه هاي ديگر هم در فلش كاربرد دارند.
اينجا هم ميگذارمش هر كي تونست نظر بده.
تشكر
------------------------------------------------------------
شروع كار با Action Script:
------------------------------------------------------------
ُSyntax
------------------------------------------------------------
بزبان ساده گرامر يك زبان برنامه نويسي را گوئيم.
شايد بتوان گفت مهمترين عامل در سهل كردن كار با يك زبان برنامه نويسي ياد گرفتن Syntaxاست.
--نقطه"Dot":
در اكشن اسكريپت نقطه براي براي نمايش Propertyها Methodها ومسيردهي يكObjectبكار ميرود.
بعنوان مثال براي مسير دهي يك شئ كه در Timelineاصلي قرار دارد و نام آنرا"Obj_1"گذاشته ايم بصورت زير عمل ميكنيم:
کد:
_root.obj_1
يا براي تعريف خاصيت "موقعيت رو محور xها براي همان شئ بصورت زير عمل ميكنيم:
کد:
1500=_root.obj_1._x
توجه:
تمامي Propertyها با underlineشروع ميشوند.
و براي تعريف يك متد نيز بصورت مشابه عمل ميكنيم.
بعد از هر دستور شرط ها را داخل پرانتز و دستور را داخل آكولاد{}مينويسيم.
در صورتيكه شرطي نداشته باشيم بعد از دستور پرانتز هاي باز وبسته و پس از آن سمي كالن يا نقطه ويرگول ميگذاريم";"
حساسيت به حروف Capital:
كلمات كليدي ASبه حروف كوچك و بزرگ حساسند.
بعنوان مثال دستور Stopبعنوان يك دستور تماما با حروف كوچك نوشته ميشوند ولي بعنوان متد بصورتStop();نوشته ميشود.
------------------------------------------------------------
Events
------------------------------------------------------------
اتفاقاتي هستند كه روي ميدهند!
البته در ASتمامي اتفاقات معلول كد هاي نوشته شده هستند و هيچ اتفاقي به خودي خود روي نمي دهد.
در AS2قطعه برنامه اي بنام Event handlerكنترل رويداد ها را بر عهده دارد.
**اتفاقات در چه صورت رخ ميدهند؟
1-در صورتيكه كدهاي AS2روي يك فريم نوشته شوند به محض اينكه Play headبه آن فريم ميرسد رخ ميدهند"key Frame events"
2-در صورتيكه يك ويژگي از Movie clip را براي كد تعريف كرده باشيم-بعنوان مثال loadشدن يك Movie.""Movie events.
3-در صورتيكه عمل خاصي از ماوس سر زند كه به آن "Mouse events"ميگويند.
4-و...
------------------------------------------------------------
targetting
------------------------------------------------------------
مسير دهي عامل مهمي در اجراي كدهاست چرا كه در صورت تايپ مسير نادرست برنامه به درستي اجرا نخواهد شد
مسير دهي بر چند نوع است:
*******1-مسير دهي پايه اي با _root:
مبناي اين گونه مسير دهي Time lineاصلي پروژه ميباشد كه از آنجا ميتوان به Time lineهاي ديگر Movie clipها راه يافت.
//مثال:
بعنوان مثال ميخواهيم از Movie clipاي به نام test_mcكه در Time lineاصلي قرار دارد Movie clipديگري بنام test2_mcرا در فريم اول متوقف كنيم و اين عمل بايد در فريم 12Time lineاصلي اتفاق بيفتد.
پس بايد عمليات زير را انجام دهيم:
1-در Time line اصلي يك لايه جديد بنام ASميسازيم.
2-در فريم 12آن يك key frameميسازيم.
3-دستور زير را براي آن تعريف ميكنيم:
کد:
_root.test_mc.test2_mc.stop();
*******2-مسير دهي نسبي:
مسير دهي نسبي با دو دستور _parentو thisعمل ميكند.
_parentما را به يك Time line عقب تر ميبرد.
بديهي است كه _parent._parentما را به دو Time line عقب تر ميبرد.
this موقعيت ما را نسبت به Time lineاي كه در آن هستيم مشخص ميكند.
------------------------------------------------------------
Operators
------------------------------------------------------------
عملگز ها بخش مهمي در محاسبات رياضي و منطقي هستند كه برخي از آنها عبارتند از:
==:برابر بودن دو رشته
>:كوچكتر بودن
<:بزرگتر بودن
=:برابر بودن/اختصاص دادن
:>=كوچكتر مساوي
:<=بزرگتر مساوي
!=:نامساوي بودن
&&:و
||:يا
-----------------------------------------------------------
Variables
-----------------------------------------------------------
متغير ها ميتوانند يك مقدار يا stringرا به خود اختصاص دهند.
در Flashبه اين عناصر Movie clipهم اضافه شده;
يادآوري :براي اختصاص دادن يك نام به variableآنرا با يك علامت مساوي ،مساوي با متغير مورد نظر قرار ميدهيم.
براي اختصاص دادن Stringبه متغير بين آنها دو مساوي قرار ميدهيم.
براي اضافه كردن يك به يك متغير عددي بعد از آن ++قرار ميدهيم.
يعني:
n++=n+1
-----------------------------------------------------------
Bolean Variables
-----------------------------------------------------------
متغيري كه فقط دو مقدار TrueوFalseرا بخود ميگيردرا متغير بولي گوييم.
از اين متغير ميتوانيم در شرط ها استفاده كنيم.
*******مثال:
کد:
Var1=True
if(var1){
Commands;
}else{
other commands;
}
در اين مثال چون var1=trueدستورات زير مجموعه ifاجرا ميشوند نه else.
-----------------------------------------------------------
Mouse events
-----------------------------------------------------------
PRESS=فشردن
RELEASE=رها كردن
KEYPRESS=فشردن يك كليد از KEY BOARD
و...
اين EVENTها در دستور ONبكار ميروند
*******مثال:
کد:
on(release){
Stop();._root.(MOVIE CLIP NAME)
}
-----------------------------------------------------------
Comments
-----------------------------------------------------------
خطوطي هستند كه براي فهم و درك آسانتر دستورات ACTION SCRIPTبه اكشنها اضافه ميكنيم و نقشي در اكشنها ندارند.
براي افزودن يك COMMENT كافيست در سطر مربوطه توضيح مورد نظرمان را بين دو علامت دابل اسلاش قرار دهيم.
اين عمل براي غير فعال كردن دستورات نيز ميتواند مفيد باشد يعني دستورات مورد نظر خود را براي غير فعال كردن ميتوانيم بين دو علامت دابل اسلاش قرار دهيم
اگر بخواهيم بلاك كدي را غير فعال كنيم اول بلاك كد يك */وآخر آن يك/* ميگذاريم
براي فعال كردن يك بلاك كد غير فعال هم اين علامات را از ابتدا و انتهاي آن بر ميداريم
----------------------------------------------------------
Output panel
----------------------------------------------------------
با فشردن كليدF2ميتوانيم اين پنجره را فعال كنيم
تقريبا تمامي فعاليت هاي پروژه فلش را كنتزل كرده و نتيجه تمامي ERRORها را اعلام ميكند
اكشني كه به ديدن نتايج در اين پنجره منتهي ميشود TRACEاست.
*******مثال:
کد:
trace(100/25);
كه در پنجره OUTPUTبه ما مقدار 4 را ميدهد
----------------------------------------------------------
حركت در Time line
----------------------------------------------------------
براي رفتن به فريم بعدي درTIMELINE از
کد:
nextframe();
و براي رفتن به فريم قبلي از
کد:
prevframe();
براي توقف نمايش از
کد:
stop();
براي حركت از
کد:
play();
استفاده ميكنيم.
براي رفتن به يك فريم خاص در يك صحنه خاص از متد GOTOاستفاده ميكنيم.
اين متد داراي دو Option ميباشد كهPlayو Stopميباشند.
ساختار اين دستور:
کد:
gotoAndPlay("scene's name", frame);
كه در قسمت frameميتوان نام فريم(label)يا شماره آنرا نوشت.
دقت كنيد كه نام يك فريم يا يك صحنه بايد داخل علامت""(كوتيشن)باشد.
--------------------------------------------------------
Property
--------------------------------------------------------
يك جزء يا يك موقعيت از يك شئ را خصيصه آن ميگوييم.
---خصوصيات عمومي:
1-IDيا Instance name:شاخصه اي كه براي يك objectتخصيص ميدهيم.
2-مختصات برداري:
x_:مختصات روي محور xها
y_:مختصات روي محور yها
توجه:مبداء مختصات در گوشه پايين سمت چپ قرار دارد و مختصات مركز صفحه1500,1500))ميباشد.
مثال:
کد:
on(release){
_root.Objectname._x=X'sPosition
_root.objectname._y=Y'sPosition
}
دراين مثال اگر روي دكمه اي در هر كجا نوشته شود در صحنه اصلي objectما را به موقعيت X,Y))ميبرد.
3-مقياس(scale):
xscale_:مقياس طول
yscale_:مقياس عرض
4-آلفا:
_alpha:شفافيت رنگ را تنظيم ميكند.
5-height
6-name
7-rotation
8-width
و....
------------------------------------------------------
ياد آوري Text fields
------------------------------------------------------
ُStatic text:متن غير قابل تغيير يا ايستا
Dynamic text:متن قابل تغيير يا پويا
Input text:متن ورودي!
اين خصوصيات را ميتوان در پنجره proprtiesيك فيلد متني يافت.
ميتوانيم در مشخصات فيلد متني نام متغيرمان را هم وارد كنيم.
براي استفاده از متغير هايي كه در Time lineهاي مختلفند بايد آدرس دهي كرد.
Input text:براي دريافت اطلاعات از كاربر استفاده ميشود.
-------تبديل متغير رشته اي به متغير عددي:
Number(varname);
------------------------------------------------------ساختارهاي شرطي
------------------------------------------------------
1-ساختار If else:
کد:
if (condition) {
commands
}else if {
other Commands
}
[2-ساختارif else if:
در اين ساختار در صورتيكه شرط اول درست نباشد در قسمت else به شرط دوم ميپردازيم.
اگر شرط اول بر قرار باشد ديگر به شرط دوم نمي رسيم.
نكته:به خاطر داشته باشيد كه براي تست برابر بودن دو مقدار بين آنها == قرار ميدهيم(براي stringها).
در اين مدل شرط ميتوانيم چند else ifداشته باشيم.
--دستور Switch:
دستوري است براي راحت تر ساختن ساختار شرطي
توضيح:
در داخل پرانتز دستور نام متغير را وارد ميكنيم و در جلوي هر يك از caseها مقدار متغير را وارد ميكنيم.
يعني اگر متغير برابر مقدار 1 باشد commands1اجرا شود.
*******مثال:
کد:
1مقدارcase :
commands1;
case 2مقدار:
commands2;
case 3مقدار:
commands3;
default:
[other command;
توجه :حلقه whileو do whileو نيز بعضي از حلقه هاي ديگر هم در فلش كاربرد دارند.









