Unity Learning
2.99K subscribers
574 photos
211 videos
1.05K files
280 links
⭕️کانال آموزش حرفـــه ای موتور بازی سازی یـــونیتی

▪️ @UnityLearning ▫️

🔹ارتباط با مدیر کانال/👇

@UnityLearning_Admin

🔹 کد شامد /👇

1-1-3526-61-3-1

💰 تعرفه تبلیغات/👇

@UnityLearning_Ads

لینک گروه تبادل نظر اعضای کانال
@UnityLearning_Group
Download Telegram
Files.cs
523 B
📋 اسکریپت آماده حذف تمام فایل های یک پوشه

🔹این اسکریپت یک تابع بسیار کاربردی به نام DeleteAllFiles دارد که به کمک آن می توان تمام فایل های موجود در یک پوشه را حذف کرد.

@UnityLearning
⭕️ دسترسی به فایل در اندروید

🔹به #درخواست کاربران کانال

🗂 با دستورات File که تاکنون در کانال توضیح داده شده است، می توان در اندروید هم به #فایل ها دسترسی داشت. قالب و نوع دستورات هیچ تفاوتی نمی کند و این یک ویژگی بسیار خوب برای یونیتی است. اما نکته مهم و قابل توجه در اینجا دسترسی ها در اندروید می باشد. زمانی که شما برای دسترسی به فایل دستوری در بازی اندرویدی خود می نویسید ، باید دسترسی متناظر با آن نیز داده شود.

🔸 همچنین نکته دیگری که در اینجا لازم است مورد بررسی قرار گیرد، مسیر دهی در اندروید می باشد. مسیر دهی در اندروید با ویندوز متفاوت است. در ساده ترین راه می توان از دستور Application.persistentDataPath
برای دسترسی به مسیر نصب بازی خود روی مموری استفاده کرد که روش توصیه شده نیز است. یعنی برای ساخت فایل همیشه از همین مسیر استفاده نمایید که معادل محل نصب اپلیکیشن (بازی) روی حافظۀ موبایل می باشد. #ادامه_دارد

@UnityLearning
Unity Learning
⭕️ دسترسی به فایل در اندروید 🔹به #درخواست کاربران کانال 🗂 با دستورات File که تاکنون در کانال توضیح داده شده است، می توان در اندروید هم به #فایل ها دسترسی داشت. قالب و نوع دستورات هیچ تفاوتی نمی کند و این یک ویژگی بسیار خوب برای یونیتی است. اما نکته مهم…
⭕️ مسیر دهی در اندروید

💡 همانطور که بیان شد، مسیر دهی در دستگاه های مختلف با هم متفاوت است و در هر کدام باید به یک شکل به مسیر خاص در حافظه دسترسی داشت. در #اندروید مسیر دهی به شکل پیچیده ای قابل دسترسی می باشد که البته دستورات ساده نیز برای آن جایگزین شده است. به طور #مثال ، همانطور که بیان شد، دستور persistentDataPath
از #کلاس Application مسیر نصب بازی را روی حافظه اصلی یا مموری موبایل بر می گرداند. مسیری مثل زیر/🔻

"/mnt/sdcard/Android/data/com.x.x/files"

📱 به منظور دسترسی به حافظۀ جانبی (SD Card) در اندروید برنامه نویسان دستورات مختلفی نوشته اند که در پست بعدی یکی از آنها قرار خواهد گرفت.

@UnityLearning
⭕️ بررسی کلیدهای دستۀ بازی در یونیتی

🔸همانطور که می دانید به کمک پنجرۀ Input Setting می توان به برخی کلیدهای دستۀ بازی دسترسی داشت. اما گاهی لازم است بتوانیم دقیقا برای یک دکمه خاص برنامه نویسی کنیم. مثلا دکمه شماره 2 دستۀ بازی شماره 2 و حالت های مختلف دیگری که می تواند اتفاق بیافتد.

🔹در لیست زیر تمام دکمه های این دستگاه ها قرار گرفته است. #یونیتی قابلیت بررسی حداکثر 7 دستۀ بازی را به صورت همزمان داراست و تفاوتی در نوع خروجی بازی نیست(دستۀ بازی XBox یا دسته های متصل به PC).

https://t.me/UnityLearning/1616

👈 به طور مثال می توان برای بررسی کلید مورد مثال (کلید 2 دسته شماره 2) به این شکل کد نویسی کرد. این شرط زمانی اجرا خواهد شد که بازیکن شماره دو کلید 2 دستۀ خود را فشار دهد.

if(Input.GetKeyDown( KeyCode.Joystick2Button2)
{

🎮 در صورتی که بخواهید یک کلید را از همه دسته های بازی بررسی کنید، از دستور مثل زیر استفاده نمایید. این دستور هرگاه کلید شماره 1 از هر دستۀ بازی فشرده شود، اجرا خواهد شد.

if(Input.GetKeyDown( KeyCode.JoystickButton1)
{

❇️ با مراجعه به پست معرفی شده ، به لیست کامل دکمه های دسته های بازی دسترسی خواهید داشت. تنها نکته مهم شناسایی شمارۀ هر کلید در هر دستۀ بازی خواهد بود.

@UnityLearning
⭕️ دسترسی به زمان بازی از ابتدای شروع

دستور Time.time زمان جاری بازی بر حسب ثانیه و با نوع float را بر می گرداند. اما باید به این موضوع دقت کرد این دستور همیشه معادل زمان اجرای بازی نخواهد بود به این علت که شرایطی مثل تغییر Time.timeScale می تواند روی آن تاثیر بگذارد و این باعث می شود Time.time همیشه معادل زمان بازی از ابتدای شروع آن توسط کاربر نباشد!

💡دستور realtimeSinceStartup از #کلاس Time معادل دقیق زمان جاری بازی از ابتدای آن می باشد که ماهیتی دقیقاً معادل دستور Time.time دارد. خروجی آن نیز از نوع float است.

Time.realtimeSinceStartup

@UnityLearning
آموزش تغییر رنگ آبجکت ها.wmv
21 MB
🎦 #فیلم #آموزش تغییر رنگ آبجکت ها در حالات مختلف

🎨 تغییر رنگ به صورت ثابت یا از طریق پارامتر ورودی و همچنین تغییر رنگ به صورت رندوم با استفاده از #کلاس Random

@UnityLearning
Unity Learning
آموزش تغییر رنگ آبجکت ها.wmv
Random_Color.cs
361 B
📋 اسکریپت استفاده شده در #فیلم آموزشی تغییر رنگ آبجکت ها به صورت تصادفی

🔹به کمک دستور ColorHSV از #کلاس Random می توان یک رنگ رندوم تولید کرد.

@UnityLearning
Unity Learning
تفاوت_دو_دستور_بیان_شده_از_کلاس.wmv
On_GUI.cs
560 B
📋 اسکریپت استفاده در #فیلم آموزشیِ نمایش زمان جاری بازی روی صفحه با استفاده از دستورات کلاس GUI

🔸پارامتر Time.time در زمان توقف بازی یا تغییر یافتن timeScale به همان میزان تغییر خواهد کرد.
Unity Learning
آموزش جامع کار با فايل بخش اول.wmv
آموزش_جامع_کار_با_فایل_و_فولدرها.wmv
55.1 MB
🎦 #فیلم #آموزش جامع استفاده از #فایل ها در یونیتی #بخش_دوم

🔹 در این قسمت دستورات جابجایی، ساخت پوشه و تعیین صفات فایل به طور کامل آموزش داده شده است.

@UnityLearning
Unity Learning
آموزش_جامع_کار_با_فایل_و_فولدرها.wmv
👈 #توضیحات تکمیلی

🔹جابجایی یک فایل: یکی از روشهای جابجا کردن(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
🎦 #فیلم #آموزش جامع استفاده از #فایل ها در یونیتی #بخش_سوم

🔹 آموزش #دانلود و ذخیرۀ فایل متنی از یک آدرس اینترنتی روی حافظه سیستم

@UnityLearning
Unity Learning
آموزش جامع کار با فایل _بخش سوم.wmv
👈 #توضیحات فیلم

🔹 در این فیلم آموزشی اقدام به استفاده از دستورات #کلاس WWW برای دانلود از اینترنت می شود. سپس محتویات آن(url) در یک فایل txt ذخیره می شود. (به کمک دستورات #کلاس File) به علت استفاده از پارامتر text آدرس Url داده شده باید مربوط به یک متن باشد. سایر آموزش های دانلود و دسترسی به #اینترنت به صورت فیلم آموزشی به زودی در کانال یونیتی لرنینگ قرار خواهد گرفت.

@UnityLearning
📸 اسکریپت آمادۀ ساخت چهار Box در گوشه های صفحه به منظور نمایش متن یا هر کنترل دیگر مانند تصویر

🔹 اسکریپت به هر دو زبان #جاوا اسکریپت و #سی_شارپ در پست بعدی قابل دانلود خواهد بود.

@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