Unity Learning
⭕️ بررسی کلیدهای دستۀ بازی در یونیتی 🔸همانطور که می دانید به کمک پنجرۀ Input Setting می توان به برخی کلیدهای دستۀ بازی دسترسی داشت. اما گاهی لازم است بتوانیم دقیقا برای یک دکمه خاص برنامه نویسی کنیم. مثلا دکمه شماره 2 دستۀ بازی شماره 2 و حالت های مختلف دیگری…
🎮 شمارۀ کلیدهای مختلف دستۀ بازی XBox360 برای بررسی در یونیتی با استفاده از دستور KeyCode
@UnityLearning
@UnityLearning
Unity Learning
⭕️ بررسی کلیدهای دستۀ بازی در یونیتی 🔸همانطور که می دانید به کمک پنجرۀ Input Setting می توان به برخی کلیدهای دستۀ بازی دسترسی داشت. اما گاهی لازم است بتوانیم دقیقا برای یک دکمه خاص برنامه نویسی کنیم. مثلا دکمه شماره 2 دستۀ بازی شماره 2 و حالت های مختلف دیگری…
🎮 شمارۀ کلیدهای مختلف دستۀ بازی PS برای بررسی در یونیتی با استفاده از دستور KeyCode و کلاس Input
@UnityLearning
@UnityLearning
⭕️ دسترسی به زمان بازی از ابتدای شروع
⏰ دستور Time.time زمان جاری بازی بر حسب ثانیه و با نوع float را بر می گرداند. اما باید به این موضوع دقت کرد این دستور همیشه معادل زمان اجرای بازی نخواهد بود به این علت که شرایطی مثل تغییر Time.timeScale می تواند روی آن تاثیر بگذارد و این باعث می شود Time.time همیشه معادل زمان بازی از ابتدای شروع آن توسط کاربر نباشد!
💡دستور realtimeSinceStartup از #کلاس Time معادل دقیق زمان جاری بازی از ابتدای آن می باشد که ماهیتی دقیقاً معادل دستور Time.time دارد. خروجی آن نیز از نوع float است.
Time.realtimeSinceStartup
@UnityLearning
⏰ دستور Time.time زمان جاری بازی بر حسب ثانیه و با نوع float را بر می گرداند. اما باید به این موضوع دقت کرد این دستور همیشه معادل زمان اجرای بازی نخواهد بود به این علت که شرایطی مثل تغییر Time.timeScale می تواند روی آن تاثیر بگذارد و این باعث می شود Time.time همیشه معادل زمان بازی از ابتدای شروع آن توسط کاربر نباشد!
💡دستور realtimeSinceStartup از #کلاس Time معادل دقیق زمان جاری بازی از ابتدای آن می باشد که ماهیتی دقیقاً معادل دستور Time.time دارد. خروجی آن نیز از نوع float است.
Time.realtimeSinceStartup
@UnityLearning
Unity Learning
⭕️ دسترسی به زمان بازی از ابتدای شروع ⏰ دستور Time.time زمان جاری بازی بر حسب ثانیه و با نوع float را بر می گرداند. اما باید به این موضوع دقت کرد این دستور همیشه معادل زمان اجرای بازی نخواهد بود به این علت که شرایطی مثل تغییر Time.timeScale می تواند روی آن…
ExampleClass.cs
740 B
📋 اسکریپت آماده برای محاسبه اختلاف اجرای تابع Update نسبت به زمان واقعی
🔹 این اسکریپت اختلاف بین هر Frame(هر بار اجرای تابع Update) را نسبت به زمان واقعی محسابه و نمایش می دهد.
@UnityLearning
🔹 این اسکریپت اختلاف بین هر Frame(هر بار اجرای تابع Update) را نسبت به زمان واقعی محسابه و نمایش می دهد.
@UnityLearning
آموزش تغییر رنگ آبجکت ها.wmv
21 MB
🎦 #فیلم #آموزش تغییر رنگ آبجکت ها در حالات مختلف
🎨 تغییر رنگ به صورت ثابت یا از طریق پارامتر ورودی و همچنین تغییر رنگ به صورت رندوم با استفاده از #کلاس Random
@UnityLearning
🎨 تغییر رنگ به صورت ثابت یا از طریق پارامتر ورودی و همچنین تغییر رنگ به صورت رندوم با استفاده از #کلاس Random
@UnityLearning
Unity Learning
آموزش تغییر رنگ آبجکت ها.wmv
Random_Color.cs
361 B
📋 اسکریپت استفاده شده در #فیلم آموزشی تغییر رنگ آبجکت ها به صورت تصادفی
🔹به کمک دستور ColorHSV از #کلاس Random می توان یک رنگ رندوم تولید کرد.
@UnityLearning
🔹به کمک دستور ColorHSV از #کلاس Random می توان یک رنگ رندوم تولید کرد.
@UnityLearning
Unity Learning
⭕️ دسترسی به زمان بازی از ابتدای شروع ⏰ دستور Time.time زمان جاری بازی بر حسب ثانیه و با نوع float را بر می گرداند. اما باید به این موضوع دقت کرد این دستور همیشه معادل زمان اجرای بازی نخواهد بود به این علت که شرایطی مثل تغییر Time.timeScale می تواند روی آن…
تفاوت_دو_دستور_بیان_شده_از_کلاس.wmv
20.8 MB
🎦 #فیلم
🔹 بیان تفاوت های دو دستور time و realtimeSinceStartup از #کلاس Time به کمک مثالِ نمایش زمان جاری بازی روی صفحه با استفاده از توابع GUI و دستور Lable در #سی_شارپ
@UnityLearning
🔹 بیان تفاوت های دو دستور time و realtimeSinceStartup از #کلاس Time به کمک مثالِ نمایش زمان جاری بازی روی صفحه با استفاده از توابع GUI و دستور Lable در #سی_شارپ
@UnityLearning
Unity Learning
تفاوت_دو_دستور_بیان_شده_از_کلاس.wmv
On_GUI.cs
560 B
📋 اسکریپت استفاده در #فیلم آموزشیِ نمایش زمان جاری بازی روی صفحه با استفاده از دستورات کلاس GUI
🔸پارامتر Time.time در زمان توقف بازی یا تغییر یافتن timeScale به همان میزان تغییر خواهد کرد.
🔸پارامتر Time.time در زمان توقف بازی یا تغییر یافتن timeScale به همان میزان تغییر خواهد کرد.
Unity Learning
آموزش جامع کار با فايل بخش اول.wmv
آموزش_جامع_کار_با_فایل_و_فولدرها.wmv
55.1 MB
🎦 #فیلم #آموزش جامع استفاده از #فایل ها در یونیتی #بخش_دوم
🔹 در این قسمت دستورات جابجایی، ساخت پوشه و تعیین صفات فایل به طور کامل آموزش داده شده است.
@UnityLearning
🔹 در این قسمت دستورات جابجایی، ساخت پوشه و تعیین صفات فایل به طور کامل آموزش داده شده است.
@UnityLearning
Unity Learning
آموزش_جامع_کار_با_فایل_و_فولدرها.wmv
👈 #توضیحات تکمیلی
🔹جابجایی یک فایل: یکی از روشهای جابجا کردن(Move) یک فایل در کلاس File استفاده از دستور Move می باشد. البته روش های دیگر برای اینکار در #یونیتی وجود دارد که ان شاءالله در پست های بعدی #آموزش داده خواهد شد. دستور Move در پارامتر از نوع String دارد که اولی آدرس فایل مبدا به صورت کامل و دومی آدرس فایل مفصد است.(آدرس باید به همراه نام و و پسوند فایل باشد)
🔹ساخت پوشه: به کمک دستور CreateDirectory در #یونیتی می توان یک پوشه ایجاد کرد. این دستور از #کلاس Directory می باشد و تنها پارامتر آن نام پوشه ای است که قرار است ساخته شود. (نام به همراه مسیر پوشه)
🔹تعیین صفات فایل: با استفاده از دستور SetAttribute از #کلاس #فایل File می توان صفات آن را تعیین کرد. صفات فایل با استفاده از #کلاس FileAttributes قابل دسترسی می باشد. به طور مثال برای مخفی کردن (Hidden) یک فایل می توان از دستور زیر استفاده کرد. پارامتر اول یک String و نام و مسیر فایلی است که قصد مخفی سازی آن را داریم.
File.SetAttribute(FilePath,FileAttributes.Hidden);
[در رابطه با دستورات تعیین صفات در #یونیتی به زودی آموزش کامل قرار خواهد گرفت]
@UnityLearning
🔹جابجایی یک فایل: یکی از روشهای جابجا کردن(Move) یک فایل در کلاس File استفاده از دستور Move می باشد. البته روش های دیگر برای اینکار در #یونیتی وجود دارد که ان شاءالله در پست های بعدی #آموزش داده خواهد شد. دستور Move در پارامتر از نوع String دارد که اولی آدرس فایل مبدا به صورت کامل و دومی آدرس فایل مفصد است.(آدرس باید به همراه نام و و پسوند فایل باشد)
🔹ساخت پوشه: به کمک دستور CreateDirectory در #یونیتی می توان یک پوشه ایجاد کرد. این دستور از #کلاس Directory می باشد و تنها پارامتر آن نام پوشه ای است که قرار است ساخته شود. (نام به همراه مسیر پوشه)
🔹تعیین صفات فایل: با استفاده از دستور SetAttribute از #کلاس #فایل File می توان صفات آن را تعیین کرد. صفات فایل با استفاده از #کلاس FileAttributes قابل دسترسی می باشد. به طور مثال برای مخفی کردن (Hidden) یک فایل می توان از دستور زیر استفاده کرد. پارامتر اول یک String و نام و مسیر فایلی است که قصد مخفی سازی آن را داریم.
File.SetAttribute(FilePath,FileAttributes.Hidden);
[در رابطه با دستورات تعیین صفات در #یونیتی به زودی آموزش کامل قرار خواهد گرفت]
@UnityLearning
Unity Learning
آموزش_جامع_کار_با_فایل_و_فولدرها.wmv
آموزش جامع کار با فایل _بخش سوم.wmv
40.9 MB
Unity Learning
آموزش جامع کار با فایل _بخش سوم.wmv
👈 #توضیحات فیلم
🔹 در این فیلم آموزشی اقدام به استفاده از دستورات #کلاس WWW برای دانلود از اینترنت می شود. سپس محتویات آن(url) در یک فایل txt ذخیره می شود. (به کمک دستورات #کلاس File) به علت استفاده از پارامتر text آدرس Url داده شده باید مربوط به یک متن باشد. سایر آموزش های دانلود و دسترسی به #اینترنت به صورت فیلم آموزشی به زودی در کانال یونیتی لرنینگ قرار خواهد گرفت.
@UnityLearning
🔹 در این فیلم آموزشی اقدام به استفاده از دستورات #کلاس WWW برای دانلود از اینترنت می شود. سپس محتویات آن(url) در یک فایل txt ذخیره می شود. (به کمک دستورات #کلاس File) به علت استفاده از پارامتر text آدرس Url داده شده باید مربوط به یک متن باشد. سایر آموزش های دانلود و دسترسی به #اینترنت به صورت فیلم آموزشی به زودی در کانال یونیتی لرنینگ قرار خواهد گرفت.
@UnityLearning
📸 اسکریپت آمادۀ ساخت چهار Box در گوشه های صفحه به منظور نمایش متن یا هر کنترل دیگر مانند تصویر
🔹 اسکریپت به هر دو زبان #جاوا اسکریپت و #سی_شارپ در پست بعدی قابل دانلود خواهد بود.
@UnityLearning
🔹 اسکریپت به هر دو زبان #جاوا اسکریپت و #سی_شارپ در پست بعدی قابل دانلود خواهد بود.
@UnityLearning
Unity Learning
📸 اسکریپت آمادۀ ساخت چهار Box در گوشه های صفحه به منظور نمایش متن یا هر کنترل دیگر مانند تصویر 🔹 اسکریپت به هر دو زبان #جاوا اسکریپت و #سی_شارپ در پست بعدی قابل دانلود خواهد بود. @UnityLearning
GUITest.7z
452 B
📋 #دانلود اسکریپت آماده ساخت چهار Box (مانند Label) در چهار گوشه صفحه
🔹 به کمک دستور Box از #کلاس GUI در تابع OnGUI
🔸هر دو فایل به زبان های #جاوا و #سی_شارپ در یک فایل 7z
@UnityLearning
🔹 به کمک دستور Box از #کلاس GUI در تابع OnGUI
🔸هر دو فایل به زبان های #جاوا و #سی_شارپ در یک فایل 7z
@UnityLearning
⭕️ استفاده از تابع GUIContent برای تغییر محتویات نمایشی کنترل های GUI
🎨با استفاده از تابع GUIContent می توان به حالت های بیشتری برای تعیین محتویات درون کنترل های GUI دسترسی داشت. فرض کنید بخواهیم برای یک Button که توسط کلاس GUI ساخته شده است، علاوه بر نام، آیکن نمایشی نیز قرار دهیم. یا اینکه بخواهیم درون یک Label علاوه بر متن، یک تصویر هم نمایش داده شود، در اینجا دیگر نمی توان بدون استفاده از تابع GUIContent محتویات مذکور را ایجاد کرد. (چون دستورات حالتی برای ایجاد آیکن و نام در کنار هم ندارند)
🎯 برای استفاده از تابع GUIContent آن را به عنوان پارامتر ورودی به دستورات کلاس GUI می دهیم. پارامتر اول که همیشه محل و اندازه نمایش دستورات است، اما پارامتر دوم GUIContent می باشد که ما در آموزش های قبلی از متن های String به جای آن استفاده می کردیم. دستور زیر یک دکمه شامل آیکن نمایشی و متن را روی صفحه می سازد.
GUI.Button (new Rect (10,10,100,20), new GUIContent("Click me", icon);
👈 در دستور بالا icon از نوع Texture2D می باشد. حالت های مختلفی که تابع GUIContent دارد به همراه تصویر در پست های بعدی قرار خواهد گرفت.
@UnityLearning
🎨با استفاده از تابع GUIContent می توان به حالت های بیشتری برای تعیین محتویات درون کنترل های GUI دسترسی داشت. فرض کنید بخواهیم برای یک Button که توسط کلاس GUI ساخته شده است، علاوه بر نام، آیکن نمایشی نیز قرار دهیم. یا اینکه بخواهیم درون یک Label علاوه بر متن، یک تصویر هم نمایش داده شود، در اینجا دیگر نمی توان بدون استفاده از تابع GUIContent محتویات مذکور را ایجاد کرد. (چون دستورات حالتی برای ایجاد آیکن و نام در کنار هم ندارند)
🎯 برای استفاده از تابع GUIContent آن را به عنوان پارامتر ورودی به دستورات کلاس GUI می دهیم. پارامتر اول که همیشه محل و اندازه نمایش دستورات است، اما پارامتر دوم GUIContent می باشد که ما در آموزش های قبلی از متن های String به جای آن استفاده می کردیم. دستور زیر یک دکمه شامل آیکن نمایشی و متن را روی صفحه می سازد.
GUI.Button (new Rect (10,10,100,20), new GUIContent("Click me", icon);
👈 در دستور بالا icon از نوع Texture2D می باشد. حالت های مختلفی که تابع GUIContent دارد به همراه تصویر در پست های بعدی قرار خواهد گرفت.
@UnityLearning
Unity Learning
⭕️ استفاده از تابع GUIContent برای تغییر محتویات نمایشی کنترل های GUI 🎨با استفاده از تابع GUIContent می توان به حالت های بیشتری برای تعیین محتویات درون کنترل های GUI دسترسی داشت. فرض کنید بخواهیم برای یک Button که توسط کلاس GUI ساخته شده است، علاوه بر نام،…
📸 اولین حالت از کلاس GUIContent برای نمایش محتویات کنترل های #کلاس GUI
🔹 نمایش آیکن به همراه متن، درون یک Button (یا هر کنترل دیگر از دستورات GUI - رابط کاربری )
@UnityLearning
🔹 نمایش آیکن به همراه متن، درون یک Button (یا هر کنترل دیگر از دستورات GUI - رابط کاربری )
@UnityLearning
📸 #یادآوری : به ترتیب از بالا ، در #کلاس GUI
🔹 یک Label ، یک Box و یک Button رسم شده است.
🔸برای تغییر رنگ پیش فرض می توان از دستور GUI.color استفاده کرد.
@UnityLearning
🔹 یک Label ، یک Box و یک Button رسم شده است.
🔸برای تغییر رنگ پیش فرض می توان از دستور GUI.color استفاده کرد.
@UnityLearning
Unity Learning
📸 #یادآوری : به ترتیب از بالا ، در #کلاس GUI 🔹 یک Label ، یک Box و یک Button رسم شده است. 🔸برای تغییر رنگ پیش فرض می توان از دستور GUI.color استفاده کرد. @UnityLearning
⭕️ #یادآوری کلی از دستورات کلاس GUI
🔹 همانطور که در تصویر مشاهده می شود، یک Label در #یونیتی تنها برای نمایش یک متن یا تصویر استفاده می شود و هیچ پس زمینه ای ندارد (کادر نمایشی)
GUI.Label(new Rect(10, 10, 100, 20), "Hello World!");
🔸 یک Box مانند یک Label است اما برای خود یک کادر نمایشی دارد و متن یا تصویر را دروین این کارد نمایش می دهد. مختصات نمایش این کادر دقیقاً معادل آنچه در Rect بیان شده است می باشد(شامل اندازه و محل رسم)
GUI.Box(new Rect(10, 50, 50, 50), "A BOX");
🎯 یک Button مانند یک Box می باشد اما قابلیت کلیک شدن دارد (یعنی وقتی کاربر روی آن کلیک کند می تواند آن را بررسی نماید )
GUI.Button(new Rect(10, 110, 70, 30), "A button");
🎨 برای تغییر رنگ پیش فرض متن نمایشی کلیه کنترل های کلاس GUI از خاصیت color استفاده می شود. به طور مثال دستور زیر رنگ را به زرد (مانند آنچه در تصویر مشاهده می شود) تغییر می دهد.
GUI.color = Color.yellow;
👈 دستور فوق باید اولین دستور از دستورات در تابع OnGUI باشد تا روی سایر دستورات اعمال شود، در غیر این صورت تغییر رنگ مشاهده نمی شود.
@UnityLearning
🔹 همانطور که در تصویر مشاهده می شود، یک Label در #یونیتی تنها برای نمایش یک متن یا تصویر استفاده می شود و هیچ پس زمینه ای ندارد (کادر نمایشی)
GUI.Label(new Rect(10, 10, 100, 20), "Hello World!");
🔸 یک Box مانند یک Label است اما برای خود یک کادر نمایشی دارد و متن یا تصویر را دروین این کارد نمایش می دهد. مختصات نمایش این کادر دقیقاً معادل آنچه در Rect بیان شده است می باشد(شامل اندازه و محل رسم)
GUI.Box(new Rect(10, 50, 50, 50), "A BOX");
🎯 یک Button مانند یک Box می باشد اما قابلیت کلیک شدن دارد (یعنی وقتی کاربر روی آن کلیک کند می تواند آن را بررسی نماید )
GUI.Button(new Rect(10, 110, 70, 30), "A button");
🎨 برای تغییر رنگ پیش فرض متن نمایشی کلیه کنترل های کلاس GUI از خاصیت color استفاده می شود. به طور مثال دستور زیر رنگ را به زرد (مانند آنچه در تصویر مشاهده می شود) تغییر می دهد.
GUI.color = Color.yellow;
👈 دستور فوق باید اولین دستور از دستورات در تابع OnGUI باشد تا روی سایر دستورات اعمال شود، در غیر این صورت تغییر رنگ مشاهده نمی شود.
@UnityLearning
📸 با استفاده از دستور backgroundColor از #کلاس GUI می توان رنگ پس زمینۀ کنترل ها را تغییر داد. رنگ پس زمینه روی متن ها اعمال نمی شود.
🎨 #مثال
GUI.backgroundColor = Color.yellow;
@UnityLearning
🎨 #مثال
GUI.backgroundColor = Color.yellow;
@UnityLearning
📸 ساخت کنترل مانند Radio Button در #یونیتی
🎯 این کنترل ها قابلیت انتخاب شدن و تیک خوردن را دارند و برای انجام تنظیمات در بازی مناسب هستند.
@UnityLearning
🎯 این کنترل ها قابلیت انتخاب شدن و تیک خوردن را دارند و برای انجام تنظیمات در بازی مناسب هستند.
@UnityLearning
Unity Learning
📸 ساخت کنترل مانند Radio Button در #یونیتی 🎯 این کنترل ها قابلیت انتخاب شدن و تیک خوردن را دارند و برای انجام تنظیمات در بازی مناسب هستند. @UnityLearning
⭕️ استفاده از دستور Toggle برای ایجاد کنترل های فعال ساز و غیر فعال ساز (مانند Radio Button یا Checkbox) در سایر زبان های برنامه نویسی
🎯 با استفاده از دستور Toggle از #کلاس GUI می توان کنترلی مانند آنچه در تصویر قبل مشاهده می گردد در تابع OnGUI ایجاد کرد. خروجی این دستور مانند دستور Button می باشد و در صورتی که تیک آن زده باشد (توسط کاربر) مقدار True و در غیر این صورت مقدار False را بر می گرداند. نحوۀ استفاده از دستور مانند دستور Button می باشد. (پارامتر اول از نوع Rect برای اندازه و محل نمایش کنترل و سایر پارامترها برای محتویات نمایشی درون کنترل استفاده می شوند)
extended1 = GUI.Toggle(new Rect(20, 20, 130, 20), extended1, "Extended Option 1");
🔹 با فرض اینکه در دستور بالا متغیر extended1 یک پارامتر از نوع bool باشد، دستور بالا یک Toggle در موقعیت داده شده می سازد و اگر کاربر آن را تیک بزند مقدار extended1 برابر true خواهد شد.(که می توان آن را در دستورات بعد بررسی نمود و بر اساس آن تصمیم گیری کرد)
@UnityLearning
🎯 با استفاده از دستور Toggle از #کلاس GUI می توان کنترلی مانند آنچه در تصویر قبل مشاهده می گردد در تابع OnGUI ایجاد کرد. خروجی این دستور مانند دستور Button می باشد و در صورتی که تیک آن زده باشد (توسط کاربر) مقدار True و در غیر این صورت مقدار False را بر می گرداند. نحوۀ استفاده از دستور مانند دستور Button می باشد. (پارامتر اول از نوع Rect برای اندازه و محل نمایش کنترل و سایر پارامترها برای محتویات نمایشی درون کنترل استفاده می شوند)
extended1 = GUI.Toggle(new Rect(20, 20, 130, 20), extended1, "Extended Option 1");
🔹 با فرض اینکه در دستور بالا متغیر extended1 یک پارامتر از نوع bool باشد، دستور بالا یک Toggle در موقعیت داده شده می سازد و اگر کاربر آن را تیک بزند مقدار extended1 برابر true خواهد شد.(که می توان آن را در دستورات بعد بررسی نمود و بر اساس آن تصمیم گیری کرد)
@UnityLearning