sina2006 مدیر انجمن
تاريخ عضويت: 5 شنبه 16 شهريور 1385 تعداد ارسالها: 288 محل سكونت: رشت
شنبه 1 دي 1386 - 22:11 |
|
|
به نام خدا
از آخرین باری که من به این انجمن (انجمن فلش) سر زدم تا الان هیچ پستی جدیدی ارسال نشده واقعا تعجب آور یعنی هیچ کس از دوستان مطلبی سوال مقاله نمونه کاری و.......ندارن اینجا بذارن مگه فلش چه گناهی کرده هیچکس تحویلش نمیگیره این نرم افزار واقعا نرم افزاره قدرتمندی حالا دیگه من صحبتمو کردم.
خوب بعد از مدتی گفتم یه آموزش بزارم برای دوستان گلم در انجمن الان چندتا مقاله آماده کردم راجب ساخت بازی و scroll لغزه شی که به زودی پس از پایان این مقاله اونارو میزارم.
خوب بریم سر اصل مطلب این مقاله بسیار ساده و روان همه چیزو توضیح داده امیدوارم خوشتون بیاد.
آموزش شی Math و توابع مثلثاتی........................................................................
شی Math-------------------------------(Mathematical)-------------------------------------
این شی یک سری از توابع خاص که با اعداد کار میکنه. و در این مقاله کاربرد این شی رو بیشتر درک میکنید.
Math.abs چه موقع به کار میرود؟
این تابع قدر مطلق یه عدد رو که براش فرقی نمیکنه چه + و چه – نتیجه میدهد
مثلا میدونیم که قدر مطلق عدد - , + میشود مثلا اگه به این تابع -3 بدیم خروجی نهایی 3 خواهد بود.
Math.round چه موقع به کار میرود؟
خوب حالا میرسیم روی این تابع این تابع اعداد اعشاری را برای ما گرد میکنه به این معنی که مثلا اگر عدد ما 4.2 است. اونو به نزدیکترین حالت یعنی 4 رند میکنه.حالا اگه عدد ما 4.8 باشه خوب معلومه اونو به 5 رند میکنه (گفتم نزدیکترین حالت که میتونه بالا یا پایین باشه)
كد: |
Trace (Math. Round(4.8));
|
Math.ceil چه موقع به کار میرود؟
این تابع همانند تابع بالا عمل میکنه و برای گرد کردن بکار میرود منتهی این تابع عدد را به بالا گرد میکند
یعنی اگه عدد ما 2.3 یا 2.5 یا 2.9 باشه خروجی کلی 3 میباشد.
كد: |
Trace (Math.ceil (2.3));
|
Math.floor چه موقع به کار میرود؟
این تابع عکس تابع Math.ceil میباشد یعنی عددو به پایین گرد میکند. یعنی اگه عدد ما 2.3 یا 2.5 یا 2.9 باشه خروجی کلی 2 میباشد.
كد: |
Trace (Math.floor (2.3));
|
Math.min و Math.max چه موقع به کار میروند؟
خوب از اسم این تابع مشخصه که چه کارایی دارند این دو تابع برای مقایسه بین اعداد به کار میروند حالا چطور به این صورت که ما دو عدد داریم a=2; و b=4; هنگامی که تابع Math.min برای مقایسه این دو عدد به کار میرود عدد کوچکتر رو (تابع مینیموم) در خروجی یعنی a=2; ظاهر میکند.
نکته : برای مقایسه میان اعداد از کامان یا , استفاده می کنیم.
Math.max برعکس تابع قبل عمل میکنه یعنی ماکزیموم عدد رو در مقایسه در خروجی انتخاب و ظاهر میکنه به این صورت که ما دو عدد داریم a=2; و b=4; هنگامی که تابع Math.max برای مقایسه این دو عدد به کار میرود عدد بزرگتر رو (تابع ماکزیموم) در خروجی یعنی b=4; ظاهر میکند.
كد: |
Trace (Math.min (2.4));
|
كد: |
Trace (Math.max (2.4));
|
Math.pow چه موقع به کار میرود؟
زمانی که ما بخواهیم 1 عدد رو به توان برسونیم از این تابع استفاده میکنیم به این صورت که ما میخواهیم عدد 4 را , را به توان 2 برسونیم تا حاصل 16 شود بدین صورت عمل میکنیم:
پارامتر اول در داخل پرانتز خود عدد و پارامتر دوم توانی که قراره برای اون عدد به کار برده بشه
مانند (4,2) چهار به توان 2 مساوی 16.
كد: |
Trace (Math.pow (4.2));
|
Math.sqrt چه موقع به کار می رود؟
این تابع از عدد مورد نظر جذر(ریشه دوم) میگیرد به این صورت که اگر بهش عدد 36 را بدهیم جذر آن یعنی 6 را در خروجی ظاهر میکند.
كد: |
Trace (Math.sqrt (36));
|
پایان توابع.
خوب این از توابع Math حال به سراغ توابع مثلثاتی Math میرویم.
از توابع مثلثاتی sin و cos برای ایجاد جلوه های حرکتی که در فلش بسیار مفیدند استفاده میشود.
این توابع رو ما با Math.sin و Math.cos نشان میدهیم.
شکل کلی در دایره مثلثاتی:
خوب در این شکل (x,y) میباشد در مرکز دایره x و y (0,0) میباشند و به ترتیب در نواحی دیگر در شکل مشخص اند. در برنامه فلش چیزها بنابر مقادیر 2 زوج x و y مستقر میشوند.
در اینجا کار یا وظیفه این توابع sin و cos اینست که نقاط قرمز در شکل را به این دو زوج یعنی x و y تبدیل کنند(به مختصات x و y )
خوب بریم سر اصل مطلب:
نقطه a را در نظر بگیریم که مبدا یا شروع دایره میباشد.در نتیجه مقدارش 0 میباشد.برای بدست آوردن زوج
X و y کافیست که عدد 0 را در cos وsin قرار داده تا مختصات نقاط x وy بدست آید
توجه:اگه میخواهید این مقادیر با ماشین حسابتون ببینید تا اطمینان پیدا کنید حتما روی حالت رادیان بگزارید.
میدانیم:
COS 0 = 1
SIN 0 = 0
پس نتیجه همان 0 و 1 نوشته شده در نقطه a مطابق شکل است.
حال سراغ نقطه c میرویم برای بدست آوردن عدد این نقطه میدانیم که شعاع این دایره (میتونید خط کش هم بزارید) تقریبا 1 است خوب برای بدست آوردن اندازه خط محیط دایره(خط دور دایره) از فرمول زیر استفاده میشود r که جواب میشود به طور تقریبی 6.28 پس اگر کل خط محیط دایره 6.28 باشد , از مبدا که نقطه a میباشد تا نقطه c که کل محیط است. مقدار نقطه c میشود که بدست می آید 1.57 حال اگر از این عدد cos و sin بگیریم :
SIN 1.57 = -1
COS 1.57 = 0
پس نتیجه همان 0 و -1 است که در شکل مشخص است.این از مختصات این صفحه.
كد: |
Trace (Math.cos(1.57));
|
كد: |
Trace (Math.sin(1.57));
|
خوب میرسیم سر نقطه b از آنجایی که نقطه a 0 میباشد و نقطه c 1.75 میباشد پس نقطه b باید
0.785 باشد.
SIN 0.785 = 0.71
COS 0.785 = -0.71
كد: |
Trace (Math.cos(0.785));
|
كد: |
Trace (Math.sin(0.785));
|
خوب این همه حرف زدیم چه بدر میخوره حتما سوالتون همینه
خوب تو فلش ما میخوایم بعضی از افکتهایی رو ایجاد کنیم مثلا حرکت یه مووی کلیپ به صورت دایره ای یا بیضوی در اینجا شما میخواد فریم به فریم مکان اون مووی را تغییر دهید.میدونید چه قدر طول میکشه در اینجاست که توابع sin و cosبه درد میخوره و موقعیت مووی را روی دایره فرضی با توجه به مختصات x و y را که توضیح دادیم تغییر میده.
آزمایش:
خوب تو محیط فلش یه مووی کلیپ بسازید
سپس کد زیر را بهش اضافه کنید و نتیجه را با این توضیحاتی که دادم مقایسه کنید.
كد: |
onClipEvent(load){
n=0;
radius=100;
centerX=250;
centerY=250;
}
onClipEvent(enterFrame){
n+=0.1;
this._x=Math.cos(n)*radius+centerX;
this._y=Math.sin(n)*radius+centerY;
}
|
در اینجا radius فاصله مووی نسبت اون مرکز دایره فرضی است. که با تغییر اون این فاصله (شعاع) کم زیاد میشود
centerX و centerY در اینجا موقعیت دایره است که هنگام اجرای فیلم آنرا میبینید که میتوانید خودتان آنرا تغییر دهید.
دانلود فایل Fla از لینک زیر:
http://mshgames.parsaspace.com/Sina.zip
ادامه دارد........
موفق باشید.
سینا |
_________________ دانلود بازی افسانه عمو پورنگ نسخه 1
www.amoogame.blogfa.com
اين نامه توسط sina2006 در 5 شنبه 2 خرداد 1387 - 11:33 ويرايش شده است. |
|