این دوره یک بررسی عمیق در UI Toolkit یونیتی است. شما اکثر مؤلفههای تشکیلدهنده UI Toolkit را خواهید آموخت و قادر خواهید بود سیستمهای UI پیچیده برای بازیها یا اپلیکیشنهای خود بسازید.
این دوره ترکیبی از تئوری و عمل است. ما دهها جزء کوچک UI و مثالهای کاربردی خواهیم ساخت. علاوه بر این، یک پروژه جامع خواهیم داشت که در آن آموختههای هر فصل را تمرین میکنیم. در نهایت، همه اینها را کنار هم قرار داده و یک بازی کامل مبتنی بر UI میسازیم.
اگرچه این دوره به طور صریح به اسکریپتنویسی ادیتور (Editor Scripting) نمیپردازد، اما اکثر مطالب آن در این زمینه نیز کاربرد دارد.
برخی از مباحثی که پوشش خواهیم داد عبارتند از:
درک فایلهای UXML و USS
آشنایی با بلوکهای سازنده اصلی UI Toolkit. در مورد مفهوم درخت بصری (Visual Tree) و دلیل جداسازی ساختار، استایل و رفتار صحبت خواهیم کرد.
طراحی لایوت با FLEXBOX
سیستم UI Toolkit از Flexbox استفاده میکند که در تکنولوژیهای وب نیز به کار میرود.
قالبها (Templates)
میآموزیم که چگونه بخشهایی از لایوت خود را با استفاده از قالبها مجدداً استفاده کنیم.
رویدادها و انتشار رویداد (Event Propagation)
هیچ سیستم UI بدون رویدادها کار نمیکند. UI Toolkit سیستم رویدادهای خاص خود را با ویژگیهای مدرنی مانند انتشار رویداد دارد که میتوانیم از آن به نفع خود استفاده کنیم.
استفاده از UQuery
یونیتی یک موتور بازیسازی است، بنابراین بیشتر کارهای شما از طریق اسکریپتها انجام میشود. شما به روشی بهینه برای اتصال اسکریپتها به UI و تغییر عناصر نیاز دارید. برای این کار ابتدا باید عناصر را پیدا کنید و UQuery روشی راحت برای این کار فراهم میکند.
اتصال دادهها (Data Binding)
در حالی که برای اسکریپتنویسی ادیتور سیستمی برای اتصال دادهها وجود دارد، در زمان اجرای بازی (Runtime) اینطور نیست. بنابراین ابزارها و تکنیکهایی را برای انجام دستی این کار بررسی میکنیم.
اجزای سفارشی (Custom Components)
کتابخانه UI Toolkit دارای کنترلهای داخلی است، اما اینها برای هر موردی کافی نیستند. در این بخش یاد میگیریم چگونه کنترلهای اختصاصی خود را بسازیم و کتابخانه شخصی از عناصر UI قابل استفاده مجدد ایجاد کنیم.
دستکاریکنندهها (Manipulators)
یکی از قوانین توسعه نرمافزار خوب، جداسازی دغدغهها است. در این بخش یاد میگیریم چگونه رفتار عناصر خاص را در دستکاریکنندهها گروهبندی کنیم.
و بسیاری موارد دیگر...
David Makowski
مهندس نرمافزار با علاقه شدید به هوش مصنوعی و Unity 3D
نمایش نظرات