کار با توابع lengthdir

کار با توابع lengthdir

lengthdir

در ویدیو آموزشی زیر کار با توابع lengthdir را فرا می گیرید. با استفاده از توابع lengthdir_x و lengthdir_y می توان مختصات نقطه ای که در فاصله len و در زاویه dir از نقطه دیگری قرار گرفته است را به دست آورد. برای درک بهتر این موضوع به تصویر زیر دقت کنید.

lengthdir

 

در تصویر بالا کاراکتر توپی را به هوا پرتاب کرده است. همانطور که می بینید توپ در فاصله len و زاویه dir از دست کاراکتر قرار گرفته است. اگر مطابق شکل، دست کاراکتر را به عنوان مبدا مختصات در نظر بگیریم و از آن برداری را تا نقطه قرار گرفتن توپ رسم کنیم (بردار قرمز رنگ) ، می توانیم سایه های این بردار را روی هر دو محور طول و عرض رسم کنیم (بردارهای آبی رنگ) . به سایه یک بردار روی محور طول lengthdir_x و بر روی محور عرض  lengthdir_yگفته می شود. اگر مختصات دست کاراکتر را نقطه x و y در نظر بگیریم، به وسیله این دو بردار سایه می توانیم به شکل زیر مختصات محل قرار گرفتن توپ(xx , yy) را به دست بیاوریم:

xx  = x + lenghtdir_x(len , dir);

yy = y+ lengthdir_y(len , dir);

از این توابع اکثرا در حرکات دایره ای ، چرخش ها، پرتاب ها و … استفاده می شود. {برای دیدن آموزش حرکت دایره ای با استفاده از توابع lengthdir از مطلب زیر دیدن کنید:آموزش کدنویسی حرکت دورانی-سطح متوسط}

 

در ویدیو زیر و در قالب یک مثال عملی نحوه کار با توابع lengthdir توضیح داده شده است. در این مثال یک لوله توپ با امکان چرخش 360 درجه وجود دارد. در زمان شلیک، گلوله بایستی در مختصات نوک لوله ایجاد شود. برای این منظور مقدار چرخش لوله را به عنوان متغیر dir و طول لوله را به عنوان len در نظر می گیریم. در این صورت مختصات نوک لوله را به راحتی به وسیله توابع lengthdir محاسبه کرده و گلوله را در زمان شلیک در آن مختصات قرار می دهیم.

ویدیو

 

 

1 دیدگاه

  1. ایمان ع گفت:

    سلام
    من همه اموزش های سایتتون رو دنبال میکنم و خواستم بهتون خسته نباشید بگم بخاطر این وبسایت و این همه پست های مفید و کابردی و یه پیشنهاد دارم اگه که میشه اکثر مطالب وبسایت رو به صورت ویدیو اموزشی قرار بدید چون ویدیو هایی که خودتون ضبط کردید خیلی اسون این مطالب رو آموزش میده و خیلی نکته های مفید داره داخلشون

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *