flash_doost
کاربر تازه وارد
سلام دوستان خسته نباشید
باتوجه به اهمیت اکشن اسکریپت و همچنین دنیای زیبای ان دلم میخواد یه پست تخصصی باز بشه که ان شاالله با کمک حرفه ای ها هم رونق داشته باشه و هم چراغش خاموش نشه البته با اجازه حرفه ای ها و
واما برای اینکه بحث از یه جایی شروع بشه مبنا رو براین گذاشتم که این پست مناسب کسانی باشه که با جنبه انیمیشن ویا در اصل پیکره متحرک سازی فلش اشنا هستند و حالا قصد دارند که با اکشن اسکریپتها اشنا بشوند من برای شروع کار چند اموزش کوتاه میگذارم ان شاالله بقیه بحث با سئوالات شما و اگر شد پاسخ من یا دوستان ادامه پیدا کند و جهت مناسب پیدا کند
فقط اگه پراکنده شروع میکنم ببخشید چون من معمولا شروع کننده خوبی نیستم
جلسه 1 دسترسی به خصوصیات هر نماد property
اولین اصل که برای شروع با اکشن اسکریپت باید به خاطر سپرد این است که همیشه برای دسترسی به خصوصیات ویا محتویات یک نماد اعم از movie clip , button ,graphic باید برای ان نماد در قسمت
Property ------- instance name یک نام برای ان انتخاب میکنیم
پس این را برای همیشه به خاطر میسپاریم
حال مراحل کار
فرض کنیم شما یک مربع را در صفحه خود کشیده اید
1. با فشردن کلید f8 ان مربع را به یک نماد تبدیل کنید هر نامی دوست داشتید بگذارید
2. حالا ان نماد را در صفحه نمایش انتخاب کنید و در قسمت یا پنل property پایین صفحه گزینه instance name را که در پایین و سمت چپ صفحه قرار دارد را کلیک کنید و یک نام به نماد خود بدهید مثلا namad_1 با این کار شما میتوانید از این به بعد به تمامی خصوصوصیات این نماد دسترسی پیدا کنید
3. خب برای شروع یک دکمه ایجاد کنید ما قصد داریم که به این دکمه وظایفی را نسبت دهیم ضمنا من چون در اینجا خصوصیات رو میگم اگه میخواید میتونید دکمه کوچک درست کنید تا هر دکمه یک کار خاص را انجام دهد تا تفکیک ان راحت تر باشد
4. خب دکمه خودرا درصفحه نمایش انتخاب کنید حالا پنل اکشن را که باز کنید با زدن دکمه + چهارمین گزینه را که property می باشد را انتخاب کنید و در این قسمت شما تعدادی گزینه مواجه میشوید که اول بای شروع _x را توضیح میدهم و بعد کار برد بقیه هم مانند همین است
5. ما قصد داریم که با فشرده شدن کلید نماد ما در محور افقی _x حرکت کند برای این کار بعد از انتخاب گزینه _x در قسمت اکشنها می بینیم که جمله _x نوشته شده که شما کافیست قبل از ان نام نماد مورد نظرتان که باید جابجا شود را به همراه یک . مینویسیم
on (release) {
namad_1._x=namad_1.x+10;
}
که در این مثال با فشرده شدن کلید ودر زمان رها شدن کلید توسط کاربر که همانا on release می باشد
نمونه namad_1 از موقعیت آخر خود ده پیکسل به سمت راست حرکت میکند
ضمنا شما میتوانید مقدار x یا هر خصوصیت دیگر را درون یک متغیر بریزید و از ان استفاده کنید
برای حرکت در سمت چپ کافیست جمع را به تفریق تبدیل کنید
on (release) {
namad_1._x=namad_1._x-10;
}
6. واما بقیه گزینه ها را یک به یک توضیح میدهم همگی دقیقا شرایط کارشون مثل _x هستش
البته بازهم تکرار میکنم بهتر است همیشه مقدار خصوصیت مورد نظر را در یک متغیر ذخیره کنیم
و بعد ورد استفاده قرار دهیم
_y : برای دسترسی به خصوصیت y وهمچنین حرکت در روی محور y
در مثال زیر با هربار رها شدن دکمه نماد مورد نظر در محور y به سمت بالا حرکت میکند
on (release) {
namad_1._y=namad_1._y-10;
}
واین مثال که در جهت پایین حرکت میکند
on (release) {
namad_1._y=namad_1._y+10;
}
7. _y scale : با این خصوصیت میتوانید یک نماد را فقط به صورت عمودی بزرگ کنید
مانند مثال زیر
namad_1._yscale=namad_1._yscale+10;
8. _x scale اینم فقط برای بزرگ شدن جسم از جهت افقی
اینم مثال
on (release) {
namad_1._xscale=namad_1._xscale+10;
}
y mouse_ : این گزینه مقدار y نقطه ای را که ماوس در ان قرار دارد را میدهد که بیشترین استفاده ان زمانی است که مثلا شما میخواهید یک نماد را به دنبال ماوس بیندازید و نیاز دارید که موقعیت ماوس را بدانید
یا زمانی که از نمادهای قابل درگ استفاده میکنید ویا زمانی که یک بازی شبیه به پازل دارید ویا هزاران کاربرد دیگه من البته در اینجا چون بحث مقدماتیه از این میگذرم ولی اگه کسی در این زمینه سئوالی داشته باشی میتونم کمک کنم
X mouse_: اینم که تکلیفش با بالایی معلوم شد
_ width : اینم که معلومه عرض نماد رو تغییر میده
اینم مثال :
on (release) {
namad_1._width=namad_1._width+10;
}
Height_ : اینم که معلومه ارتفاع نماد رو تغییر میده
namad_1._height=namad_1._height+10
_ url : این گزینه ادرس فایل جاری را بر میگرداند وشما از ان میتوانید استفاده نمایید این گزینه خصوصا در کارهای مولتی مدیا و تحت وب دینامیک کاربرد فراوان دارد
برای این مثالی اینجا میذارم
که برای مشاهده مسیرفایلتون اول یک text دینامیک درست کنید که اگر اشنا نیستید این مراحل را دنبال کنید یک متن بی معنی با تعداد حروف بالا در روی صفحه ایجاد کنید بعد در قسمت سمت چپ پایین صفحه property در قسمت سمت چپ نوع متن را از static text یا همون متن معمولی به متن dynamic تغییر بدهید و درقسمت var نام متغیری را بنویسید که من برای این مثال وبرای روشن بودن زمان استفاده از متغیر نام اونو ali در نظر گرفتم حالا شما یک متن دینامیک به نام ali دارید
در زیر نحوه نمایش مسیر فایل جاری را میبینید
on (release) {
ali=namad_1._url;
}
ویا
on (release) {
ali=this._url;
}
Total frames_ : این گزینه تعداد فریم های یک نماد را مشخص میکند بهترین کاربرد این گزینه زمانی است که شما نمادهای دینامیک توسط کاربر میسازید که ان شاالله بعدا میرسیم و با این گزینه میتوانید زمان نمایش را با خیال راحت به کاربر سپرده سپس کنترل و اداره کنید باشه تابعد
و اما برای این مثال هم اول متن دینامیک بسازید اینجا مثلا ali_2
اینم مثال
on (release) {
ali_2=namad_1._totalframes;
}
_ target: و _ soundbuftime در حال کشف البته قابل حدسه اما هنوز وقت نشده بررسی بشه اگه کسی میدونه لطف میکنه اگه بگه
:wacko: :wacko:
rotation برای چرخش نماد استفاده میشود مانند مثال
on (release) {
namad_1._rotation=namad_1._rotation+10;
}
_ quality : این گزینه مقدار کیفیت quality فایل را مشخص میکند البته این گزینه بیشتر زمانی کار برد دارد که شما قصد داشته باشید حتی پابلیش کردن کارتون رو هم به صورت دینامیک به کاربر بسپارید که خیلی این کار معدوده ولی پارامتر هاش اینه low , medium ,high , best که از دو در دو grid و همینطور چهار در چهار grid استفاده میکنه
_name : با این گزینه میتوانید نامی را که برای نماد خود در نظر گرفتید را تغییر بدهید از نمونه کاربردهای این گزینه زمانی که شما بخواهید که تولید نمونه نماد ونام گذاری را به کاربر بسپارید ویا اینکه شما قصد دارید تمام مشخصات یک نماد را که تابه حال در دسترس کاربر بوده را غیر فعال کنید که جای شرح تک تک اونها کافیه که اسم اون نماد را با این دستو عوض کنید تا دیگر اکشن های سابقی را که نسبت داده اید دیگر فعال نباشد یکی از بهترین کاربردهای این گزینه در ساختن برنامهای مشابه paint با فلش هستش خیلی حال وده
اینم یه مثال ساده که مثلا با تغییر نام نماد بعدا که یک کم پیش رفتیم یه نمونه توپ از کاربرد این گزینه براتون میذارم حال کنید
on (release) {
namad_1._name=name_2;
}
_framesloaded : نشان دهنده تعداد فریم های لود شده نماد می باشد بهترین کاربرد این گزینه زمانی است که شما قصد دارید یک loader ویا preloaded بسازید
on (release) {
ali_4=namad_1._framesloaded;
}
_ focusrect_: این گزینه مشخص میکند که در حال حاضر فوکوس بر روی کدام فیلد یا دکمه می باشد
این رو در بخش فرمها اگه عمری بود میگم فقط بدونید که مقدار او Boolean هستش یعنی یا درست یا غلط
Droptarget : اینم بذارید با قسمت drag & drop براتون بگم
Currentframe _:مشخص میکند که الان تایم لاین یک نماد در کدام فریم قرار دارد این گزینه کاربرد زیادی دارد مثلا در ساخت loader ویا زمانی که شما نیاز به یک استپ دینامیک و رجوع مجدد دارید ویا بنا به برنامتون نیاز دارید که بدونید الان در تایم لاین نمادتون در کدام فریم قرار دارید
در این نمونه ای که اینجا گذاشتم اول شما یک نماد دو فریمی که استپ نداره وفقط داخلش یک متن دینامیکه مثلا ali_3 را ایجاد کنید وبه فریم اول این نماد اکشن زیر را نسبت دهید
و بعد در تایم لاین اصلیتون یک نماد به نام namad_1 بسازید که مثلا 15 یا هر چندتا فریم داشته باشه
حالا فایلتون اجرا کنید می بینید که در هر لحظه شماره فریمی را که در نماد namad_1 در حال اجراست را نشان میدهد
ali_3 = _root.namad_1._currentframe;
alpha : این گزینه هم که مشخص است با ان میتوانید الفا یا شفافیت یک نماد را کم و زیاد کنید
اینم مثالی که الفا را کم میکند
on (release) {
namad_1._alpha=50;
}
ویا
on (release) {
namad_1._alpha=namad_1._alpha-10;
}
وبا این گزینه میتوانید یک نماد را HIDDEN کنید
on (release) {
namad_1._visible=false;
}
امیدوارم این توضیحات کمکی کرده باشه
سئوالی بود بپرسین اگه بلد بودیم که یا علی اگر نه هم خودمونو میزنیم به اون راه
راستی جلسه بعدی fscommand
ضمنا عین همین مطالب را در این پست هم گذاشتم اگه خدا عمری بده و مثل امشب حال داشته باشم هرهفته یه چیز تازه ای میاریم
ضمنا نظر موافق یادتون نره مخالفها هم اصلا طاقت ندارم نگین (شوخی بود بخندیم )
باتوجه به اهمیت اکشن اسکریپت و همچنین دنیای زیبای ان دلم میخواد یه پست تخصصی باز بشه که ان شاالله با کمک حرفه ای ها هم رونق داشته باشه و هم چراغش خاموش نشه البته با اجازه حرفه ای ها و
واما برای اینکه بحث از یه جایی شروع بشه مبنا رو براین گذاشتم که این پست مناسب کسانی باشه که با جنبه انیمیشن ویا در اصل پیکره متحرک سازی فلش اشنا هستند و حالا قصد دارند که با اکشن اسکریپتها اشنا بشوند من برای شروع کار چند اموزش کوتاه میگذارم ان شاالله بقیه بحث با سئوالات شما و اگر شد پاسخ من یا دوستان ادامه پیدا کند و جهت مناسب پیدا کند
فقط اگه پراکنده شروع میکنم ببخشید چون من معمولا شروع کننده خوبی نیستم
جلسه 1 دسترسی به خصوصیات هر نماد property
اولین اصل که برای شروع با اکشن اسکریپت باید به خاطر سپرد این است که همیشه برای دسترسی به خصوصیات ویا محتویات یک نماد اعم از movie clip , button ,graphic باید برای ان نماد در قسمت
Property ------- instance name یک نام برای ان انتخاب میکنیم
پس این را برای همیشه به خاطر میسپاریم
حال مراحل کار
فرض کنیم شما یک مربع را در صفحه خود کشیده اید
1. با فشردن کلید f8 ان مربع را به یک نماد تبدیل کنید هر نامی دوست داشتید بگذارید
2. حالا ان نماد را در صفحه نمایش انتخاب کنید و در قسمت یا پنل property پایین صفحه گزینه instance name را که در پایین و سمت چپ صفحه قرار دارد را کلیک کنید و یک نام به نماد خود بدهید مثلا namad_1 با این کار شما میتوانید از این به بعد به تمامی خصوصوصیات این نماد دسترسی پیدا کنید
3. خب برای شروع یک دکمه ایجاد کنید ما قصد داریم که به این دکمه وظایفی را نسبت دهیم ضمنا من چون در اینجا خصوصیات رو میگم اگه میخواید میتونید دکمه کوچک درست کنید تا هر دکمه یک کار خاص را انجام دهد تا تفکیک ان راحت تر باشد
4. خب دکمه خودرا درصفحه نمایش انتخاب کنید حالا پنل اکشن را که باز کنید با زدن دکمه + چهارمین گزینه را که property می باشد را انتخاب کنید و در این قسمت شما تعدادی گزینه مواجه میشوید که اول بای شروع _x را توضیح میدهم و بعد کار برد بقیه هم مانند همین است
5. ما قصد داریم که با فشرده شدن کلید نماد ما در محور افقی _x حرکت کند برای این کار بعد از انتخاب گزینه _x در قسمت اکشنها می بینیم که جمله _x نوشته شده که شما کافیست قبل از ان نام نماد مورد نظرتان که باید جابجا شود را به همراه یک . مینویسیم
on (release) {
namad_1._x=namad_1.x+10;
}
که در این مثال با فشرده شدن کلید ودر زمان رها شدن کلید توسط کاربر که همانا on release می باشد
نمونه namad_1 از موقعیت آخر خود ده پیکسل به سمت راست حرکت میکند
ضمنا شما میتوانید مقدار x یا هر خصوصیت دیگر را درون یک متغیر بریزید و از ان استفاده کنید
برای حرکت در سمت چپ کافیست جمع را به تفریق تبدیل کنید
on (release) {
namad_1._x=namad_1._x-10;
}
6. واما بقیه گزینه ها را یک به یک توضیح میدهم همگی دقیقا شرایط کارشون مثل _x هستش
البته بازهم تکرار میکنم بهتر است همیشه مقدار خصوصیت مورد نظر را در یک متغیر ذخیره کنیم
و بعد ورد استفاده قرار دهیم
_y : برای دسترسی به خصوصیت y وهمچنین حرکت در روی محور y
در مثال زیر با هربار رها شدن دکمه نماد مورد نظر در محور y به سمت بالا حرکت میکند
on (release) {
namad_1._y=namad_1._y-10;
}
واین مثال که در جهت پایین حرکت میکند
on (release) {
namad_1._y=namad_1._y+10;
}
7. _y scale : با این خصوصیت میتوانید یک نماد را فقط به صورت عمودی بزرگ کنید
مانند مثال زیر
namad_1._yscale=namad_1._yscale+10;
8. _x scale اینم فقط برای بزرگ شدن جسم از جهت افقی
اینم مثال
on (release) {
namad_1._xscale=namad_1._xscale+10;
}
y mouse_ : این گزینه مقدار y نقطه ای را که ماوس در ان قرار دارد را میدهد که بیشترین استفاده ان زمانی است که مثلا شما میخواهید یک نماد را به دنبال ماوس بیندازید و نیاز دارید که موقعیت ماوس را بدانید
یا زمانی که از نمادهای قابل درگ استفاده میکنید ویا زمانی که یک بازی شبیه به پازل دارید ویا هزاران کاربرد دیگه من البته در اینجا چون بحث مقدماتیه از این میگذرم ولی اگه کسی در این زمینه سئوالی داشته باشی میتونم کمک کنم
X mouse_: اینم که تکلیفش با بالایی معلوم شد
_ width : اینم که معلومه عرض نماد رو تغییر میده
اینم مثال :
on (release) {
namad_1._width=namad_1._width+10;
}
Height_ : اینم که معلومه ارتفاع نماد رو تغییر میده
namad_1._height=namad_1._height+10
_ url : این گزینه ادرس فایل جاری را بر میگرداند وشما از ان میتوانید استفاده نمایید این گزینه خصوصا در کارهای مولتی مدیا و تحت وب دینامیک کاربرد فراوان دارد
برای این مثالی اینجا میذارم
که برای مشاهده مسیرفایلتون اول یک text دینامیک درست کنید که اگر اشنا نیستید این مراحل را دنبال کنید یک متن بی معنی با تعداد حروف بالا در روی صفحه ایجاد کنید بعد در قسمت سمت چپ پایین صفحه property در قسمت سمت چپ نوع متن را از static text یا همون متن معمولی به متن dynamic تغییر بدهید و درقسمت var نام متغیری را بنویسید که من برای این مثال وبرای روشن بودن زمان استفاده از متغیر نام اونو ali در نظر گرفتم حالا شما یک متن دینامیک به نام ali دارید
در زیر نحوه نمایش مسیر فایل جاری را میبینید
on (release) {
ali=namad_1._url;
}
ویا
on (release) {
ali=this._url;
}
Total frames_ : این گزینه تعداد فریم های یک نماد را مشخص میکند بهترین کاربرد این گزینه زمانی است که شما نمادهای دینامیک توسط کاربر میسازید که ان شاالله بعدا میرسیم و با این گزینه میتوانید زمان نمایش را با خیال راحت به کاربر سپرده سپس کنترل و اداره کنید باشه تابعد
و اما برای این مثال هم اول متن دینامیک بسازید اینجا مثلا ali_2
اینم مثال
on (release) {
ali_2=namad_1._totalframes;
}
_ target: و _ soundbuftime در حال کشف البته قابل حدسه اما هنوز وقت نشده بررسی بشه اگه کسی میدونه لطف میکنه اگه بگه
:wacko: :wacko:
rotation برای چرخش نماد استفاده میشود مانند مثال
on (release) {
namad_1._rotation=namad_1._rotation+10;
}
_ quality : این گزینه مقدار کیفیت quality فایل را مشخص میکند البته این گزینه بیشتر زمانی کار برد دارد که شما قصد داشته باشید حتی پابلیش کردن کارتون رو هم به صورت دینامیک به کاربر بسپارید که خیلی این کار معدوده ولی پارامتر هاش اینه low , medium ,high , best که از دو در دو grid و همینطور چهار در چهار grid استفاده میکنه
_name : با این گزینه میتوانید نامی را که برای نماد خود در نظر گرفتید را تغییر بدهید از نمونه کاربردهای این گزینه زمانی که شما بخواهید که تولید نمونه نماد ونام گذاری را به کاربر بسپارید ویا اینکه شما قصد دارید تمام مشخصات یک نماد را که تابه حال در دسترس کاربر بوده را غیر فعال کنید که جای شرح تک تک اونها کافیه که اسم اون نماد را با این دستو عوض کنید تا دیگر اکشن های سابقی را که نسبت داده اید دیگر فعال نباشد یکی از بهترین کاربردهای این گزینه در ساختن برنامهای مشابه paint با فلش هستش خیلی حال وده
اینم یه مثال ساده که مثلا با تغییر نام نماد بعدا که یک کم پیش رفتیم یه نمونه توپ از کاربرد این گزینه براتون میذارم حال کنید
on (release) {
namad_1._name=name_2;
}
_framesloaded : نشان دهنده تعداد فریم های لود شده نماد می باشد بهترین کاربرد این گزینه زمانی است که شما قصد دارید یک loader ویا preloaded بسازید
on (release) {
ali_4=namad_1._framesloaded;
}
_ focusrect_: این گزینه مشخص میکند که در حال حاضر فوکوس بر روی کدام فیلد یا دکمه می باشد
این رو در بخش فرمها اگه عمری بود میگم فقط بدونید که مقدار او Boolean هستش یعنی یا درست یا غلط
Droptarget : اینم بذارید با قسمت drag & drop براتون بگم
Currentframe _:مشخص میکند که الان تایم لاین یک نماد در کدام فریم قرار دارد این گزینه کاربرد زیادی دارد مثلا در ساخت loader ویا زمانی که شما نیاز به یک استپ دینامیک و رجوع مجدد دارید ویا بنا به برنامتون نیاز دارید که بدونید الان در تایم لاین نمادتون در کدام فریم قرار دارید
در این نمونه ای که اینجا گذاشتم اول شما یک نماد دو فریمی که استپ نداره وفقط داخلش یک متن دینامیکه مثلا ali_3 را ایجاد کنید وبه فریم اول این نماد اکشن زیر را نسبت دهید
و بعد در تایم لاین اصلیتون یک نماد به نام namad_1 بسازید که مثلا 15 یا هر چندتا فریم داشته باشه
حالا فایلتون اجرا کنید می بینید که در هر لحظه شماره فریمی را که در نماد namad_1 در حال اجراست را نشان میدهد
ali_3 = _root.namad_1._currentframe;
alpha : این گزینه هم که مشخص است با ان میتوانید الفا یا شفافیت یک نماد را کم و زیاد کنید
اینم مثالی که الفا را کم میکند
on (release) {
namad_1._alpha=50;
}
ویا
on (release) {
namad_1._alpha=namad_1._alpha-10;
}
وبا این گزینه میتوانید یک نماد را HIDDEN کنید
on (release) {
namad_1._visible=false;
}
امیدوارم این توضیحات کمکی کرده باشه
سئوالی بود بپرسین اگه بلد بودیم که یا علی اگر نه هم خودمونو میزنیم به اون راه
راستی جلسه بعدی fscommand
ضمنا عین همین مطالب را در این پست هم گذاشتم اگه خدا عمری بده و مثل امشب حال داشته باشم هرهفته یه چیز تازه ای میاریم
ضمنا نظر موافق یادتون نره مخالفها هم اصلا طاقت ندارم نگین (شوخی بود بخندیم )