یونیتی: تغییر سلاح یا تعویض اسلحه یا قطعات یا بدنه ی ماشین یا سوئیچ_تعویض پلیر
پنجشنبه, ۲۱ اسفند ۱۳۹۳، ۰۳:۴۳ ب.ظ
برای تغییر سلاح یا تعویض اسلحه یا قطعات یا بدنه ی ماشین یا سوئیچ یا تغییر لباس یا فعال و غیرفعال کردن آبجکت های دلخواه در صحنه چه کنیم؟
برای اینکار از تابع setActive استفاده می کنیم. مثلا اسکریپت زیر رو
ببینید. با فشردن کلید 1 و 2و3 روی numpad و یا 1و2و3 زیر کلید های
تابعی(fuctional keys) بین قطعات تنظیم شده در پارامترهای ghete1 و ghete2
و ghete3 سوئیچ می کنیم و در هر لحظه یک آیتم را فعال خواهیم کرد.
کد csharp:
//setActive.Cs using UnityEngine; using System.Collections; public class setActive : MonoBehaviour { public GameObject ghete1; public GameObject ghete2; public GameObject ghete3; // Use this for initialization //edit:Sajjad3011 void Start () { ghete1.gameObject.SetActive(true); ghete2.gameObject.SetActive(false); ghete3.gameObject.SetActive(false); } // Update is called once per frame void Update(){ if(Input.GetKeyDown("1") || Input.GetKey (KeyCode.Keypad1)){ //switch part1 killAll(); ghete1.gameObject.SetActive(true); } if(Input.GetKeyDown("2") || Input.GetKey (KeyCode.Keypad2)){ //switch part2 killAll(); ghete2.gameObject.SetActive(true); } if(Input.GetKeyDown("3") || Input.GetKey (KeyCode.Keypad3)){ //switch part3 killAll(); ghete3.gameObject.SetActive(true); } } void killAll(){ ghete1.gameObject.SetActive(false); ghete2.gameObject.SetActive(false); ghete3.gameObject.SetActive(false); } }
دقت کنید که سه تا گیم آبجکت به عنوان قطعه ی 1 و 2 و 3 باید توی صحنه بذارید و همچنین یک گیم آبجکت تهی(empty game object) ایجاد کنید و اسکریپت رو بندازید روش. سپس قطعات رو بندازید روی پارامترهاش توی inspector تا توی آرایه تنظیم بشه.
نکته ی مهم : دقت کنید که موقعت(position) و زاویه ی چرخش(rotation) و مقیاس(scale) تمام قطعات یکی باشه تا بتونید به راحتی قطعات ماشین رو تنظیم کنید و بزرگ بودن یا قطعات خودرو تو هم نرن. برای تغییر سلاح یا تغییر اسلحه اینکار مهم نیست
منبع مطالعه شده : http://answers.unity3d.com/questions/606...cript.html
۹۳/۱۲/۲۱