
همینطور که میدانید یکی از چیزهایی که قشنگی خاصی به بازی میده لودینگ بازیه (loading)
مخصوصاً وقتی که بازی شما سنگینه و زمان زیادی رو باید کاربر صبر کنه تا مراحل بازی باز شوند
در یونیتی در حالت پیش فرض هیچ لودینگی برای مراحل وجود نداره و در طول هنگام بود کردن مرحله بازی به حالت pause میره و بعد از یه زمانی مرحله لود میشه که کار غیر حرفهای است
در کد زیر ما به شما یاد میدیم که چجوری در هنگام لود کردن مرحله یه نوار پیشرفت به کاربر نشان بدید که چقدر از مرحله لود شده و چقدر به پایین لود شدن زمان مانده
البته این یک مثال کوچیکه تا بتونید درصد لود شدن مرحله رو به دست به یارید
شما خودتان میتونید با درصد لود شدن لودینگ های قشنگ دیگه ای بسازید
مثلاً به صورت عددی نشان بده یا دایرهای یا یک انیمیشن خاص نشان داده به شه و …
خوب بریم سراغ کد
using UnityEngine;
using System.Collections;
public class loading : MonoBehaviour {
public Texture loadTexture;
AsyncOperation async;
void OnGUI()
{
if(GUI.Button(new Rect(20,70,80,20), "Level 1"))
{
load_level();
}
if(async !=null)
{
GUI.DrawTexture(new Rect(0,100,async.progress*Screen.width,30),loadTex ture,ScaleMode.ScaleAndCrop);
}
}
void load_level()
{
StartCoroutine(_loading("level"));
}
IEnumerator _loading(string level_name)
{
async = Application.LoadLevelAsync(level_name);
while(!async.isDone)
{
yield return async;
}
}
}
نکته : در کد بالا در خط ۲۴ به جای “level” باید اسم مرحله رو قرار بدیم
کد ها خیلی ساده هستند برای همین توضیح نمیدم
برای تست این کد سعی کنید از یه بازی استفاده کنید که لود کردن مرحله طول بکشد وگر نه به سرعت از صفحه لودینگ رد میشید و چیزی نمایش داده نمیشه
بازم مثل همیشه نظر یادتون نره
مطالب وب سایت Dev-Iran :
کپی و رایت مطلب به تیم Dev-Iran.ir باز میگردد که در حال حاضر صاحب امتیاز این وب سایت گروه اوکسو می باشد.
Aminer
15 آذر 1394با عرض سلام خدمت شما و سایت خوبتون میخواستم یه درخواست کنم که اگه میشه دو تا آموزش Sliding Menu و دیتا بیس رو بزارید
پاسخ شما
majid
16 آذر 1394سلام دوست عزیز در حال اماده سازی اموزش ها هستم به زودی قرار داده میشه