حرکت خودکار گیم ابجکت روی مسیر مشخص یا بین چند گیم ابجکت empty در یونیتی
يكشنبه, ۵ مهر ۱۳۹۴، ۰۲:۳۳ ق.ظ
منبع:gameover.blog.ir
یه آرایه از گیم ابجکت تعریف کن. بعدش توی inspector اندازه رو توی پارامتر size تعیین کن مثلا 3 بده تا سه تا ورودی بهت بده. بعدش سه تا گیم ابجکت empty بساز توی hierarchy و اونا رو بکش بنداز روی ورودی ها. سپس توی صحنه پوزیشن(موقعیت) این empty game object ها رو هرجور می خوای تنظیم کن. بعدش توی کد سیشارپ که به ماشین میدی کد حرکت مثل این رو بذار:
توی update بگو:
اگه i=2 بود بره به پوزیشن 2 :
transform.position = Vector2.Lerp (transform.position, pos2,10* Time.deltaTime);
وگرنه اگه i=3 بود بره به پوزیشن 3:
transform.position = Vector2.Lerp (transform.position, pos3,10* Time.deltaTime);
وگرنه اگه i=1 بود بره به پوزیشن 1:
transform.position = Vector2.Lerp (transform.position, pos1,10* Time.deltaTime);
می تونی مقدار اولیه i رو توی تابع start برابر 1 بگیری.
توی کد برخورد با پوزیشن 1 مقدار i رو 2 کن
توی کد برخورد با پوزیشن 2 مقدار i رو 3 کن
توی کد برخورد با پوزیشن 3 مقدار i رو 1 کن.
--
روی کدها خوب فکر کنید ببینید چی گفتم. اگه موفق به نوشتن کد نشدید بگید براتون بسازم.
---
یه مثال هم قبلا زده بودم با برنامه اینو ببینید :
http://gameover.blog.ir/1394/05/30/%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%DB%8C%DA%A9-%D9%85%D9%88%D8%AC%D9%88%D8%AF-%D9%87%D9%88%D8%B4%D9%85%D9%86%D8%AF-%D8%A8%D8%A7-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%AA%DA%A9%D9%86%DB%8C%DA%A9-NPC-%D9%88-waypints-%D8%AF%D8%B1-%DB%8C%D9%88%D9%86%DB%8C%D8%AA%DB%8C
۹۴/۰۷/۰۵