سلام و درود خدمت دوستان عزیز و علاقمندان به مباحث آموزشی وب سایت پی وی لرن. با آموزش Unity در خدمتتون هستیم. کار با دکمه ها در Unity عملکردشان را در این بخش از آموزش یونیتی دنبال خواهیم کرد.
در این بخش، ما متوجه خواهیم شد که چگونه عناصر UI را وارد صحنه خود کنیم و به دنبال کار با آن ها باشیم.
بگذارید با یک دکمه شروع کنیم.
برای ایجاد و وارد کردن یک دکمه ، بر روی دکمه Scene Hierarchy کلیک راست کرده و به Create → UI → Button بروید. اگر یک Canvas و EventSystem موجود ندارید ، یونیتی به طور خودکار یکی را برای شما ایجاد می کند و دکمه را درون Canvas نیز قرار می دهد.
به یاد داشته باشید که در حالت رندر Overlay که حالت پیش فرض است ، اندازه بوم مستقل از اندازه دوربین است.
می توانید این کار را با کلیک کردن روی تب Game تست کنید.
اگر صحنه را پلی کنید ، متوجه خواهید شد که این دکمه دارای عملکردهای استانداردی است مانند شناسایی هنگامی که ماوس بر روی آن قرار دارد و هنگام فشار دادن ،
رنگ را تغییر می دهد.
یک Button نیاز دارد که عملکرد ها در UI واقعاً مفید باشد.
این قابلیت را می توان از طریق خواص آن اضافه کرد.
بگذارید یک اسکریپت جدید بسازیم و آن را دکمه ButtonBehaviour بنامیم.
1 2 3 4 5 6 7 | public class ButtonBehaviour : MonoBehaviour { int n; public void OnButtonPress(){ n++; Debug.Log("Button clicked " + n + " times."); } } |
یک روش ساده کرده ایم که می نویسد چند بار دکمه را زده ایم.
توجه – این روش باید عمومی باشد؛ در غیر این صورت متوجه عملکرد دکمه نمی شود.
بگذارید یک GameObject خالی ایجاد کنیم و این اسکریپت را به آن اتچ کنیم. این کار را می کنیم به خاطر این که یک دکمه به تنهایی کاری انجام نمی دهد.
فقط در برنامه نویسی خود از روش مشخص شده استفاده می کند.
اکنون به ویژگی های (properties) دکمه بروید و ویژگی ()OnClick را پیدا کنید.
نماد + را در پایین برگه انتخاب کنید، و یک ورودی جدید باید در لیست نشان داده شود.
این ورودی تعریف می کند که دکمه روی چه شیئی عمل می کند و چه عملکردی از اسکریپت آن شیء فراخوانی می شود. به دلیل این که سیستم رویدادی با فشار دکمه استفاده می شود ، می توانید به سادگی با اضافه کردن آن ها به لیست ، چندین کارکرد را آغاز کنید.
GameObject خالی ، که شامل اسکریپت ButtonManager ما ایجاد شده است را بر روی اسلات (None (Object درگ و رها کنید.
به لیست کشویی No Function بروید و روش OnButtonPress را جستجو کنید.
(به یاد داشته باشید که می توان آن را هر چیزی که می خواهید نامگذاری شود ، OnButtonPress به سادگی یک کنوانسیون نامگذاری استاندارد است.)
شما باید آن را در بخش ButtonBehaviour پیدا کنید.
اگر اکنون بازی را انجام دهید ، می توانید دکمه را تست کنید و مطمئناً به اندازه کافی ، کنسول چاپ می کند که چند بار دکمه را فشار داده اید.
تشکر از این که با مبحث کار با دکمه ها در Unit همراه بودید.
در جلسه ی آینده Text Element رو بررسی خواهیم کرد. موفق باشید.