HD Games

HD Games وبلاگی پر از آموزش و پلاگین و اسکریپت و... های اماده برای نرم افزار های مختلف

HD Games

HD Games وبلاگی پر از آموزش و پلاگین و اسکریپت و... های اماده برای نرم افزار های مختلف

HD Games

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

کانال تلگرامی ما : @Unity_Technologies

(برای حمایت از ما لطفا وبلاگ ما را دنبال کنید)

دنبال کنندگان ۶ نفر
این وبلاگ را دنبال کنید
donate
telegram channel instagram

طبقه بندی موضوعی

نویسندگان

ساخت لودینگ حرفه ای با تاخیر

جمعه, ۳ خرداد ۱۳۹۸، ۰۴:۰۹ ب.ظ

بسم الله الرحمن الرحیم.
_________________________________________
سلام خدمت دوستان عزیز.
تو این آموزش میخوایم یک لودینگ حرفه ای با تاخیر بدون رفتن به سین و ... بسازیم.


ابتدا یک اسکریپت سی شارپ با نام دلخواه مثال :
loading
ایجاد میکنیم و با دوبار کلیک بازش میکنیم و یا با کلیک راست روی اسکریپت و با زدن گزینه :
Open
اسکریپت رو باز میکنیم.
حالا میتونید کامند هارو پاک کنید و چیز های اضافه رو هم پاک کنید مثلا کتابخانه هایی که باهاشون کاری نداریم تو لودینگ و...
بعد از این کار میایم و کتابخانه های لازم رو تعریف میکنیم :
using UnityEngine.UI;
using UnityEngine.SceneManagement;
حالا چند متغیر تعریف میکنیم :
public Image loadingIMG;
(این متغیر با سطح دسترسی عمومی و از نوع ایمیج هست و با نام لودینگ آی ام جی و کارش اینه که تو صفحه بازی عکسی که برای لودینگ قرار دادیم رو نمایش میده که کم و زیاد میشه.)
public float load;
(این متغیر با سطح دسترسی عمومی و از نوع فلوت هست و با نام لود و کارش اینه که یک مقداری تایین کنه و به متغیر بالا یعنی متغیر لودینگ آی ام جی اضافه کنه اون مقدارو و لودینگمون هی پر بشه.)
public int timer;
(این متغیر با سطح دسترسی عمومی و از نوع اینت و با نام تایمر هست و کاش اینه که یه زمانی تایین میکنه برای تاخیر انداختن در پر شدن متغیر اولی یعنی لودینگ آی ام جی.)
حالا تابع استارت رو پاک میکنیم و به جاش تابع جدیدی میسازیم :
void Loader () {

}
خب میریم سراغ تابع آپدیت و کد های زیر رو مینویسیم توش :
load = Random.Range (0f,0.3f);
(این کد میاد و برای متغیر لودمون عدد رندومی انتخاب میکنه از اعداد 0 الی 0.3 به صورت اعشاری.)
timer = Random.Range (0,10);
(این کد میاد و برای متغیر تایمر عدد رندومی انتخاب میکنه از اعداد 0 الی 10)
Invoke ("Loader",timer);
(حالا این کد میاد تابع جدیدی که ساختیم رو با زمانی که متغیر تایمرمون تایین کرده اجرا میکنه)
حالا میریم سراغ تابع جدیدمون :
loadingIMG.fillAmount += load * Time.deltaTime;
(این کد میاد و به فیل امونت متغیر لودینگ آی ام جی مقدار متغیر لود که تایین کرده رو با توجه به تایم اضافه میکنه)
if (loadingIMG.fillAmount >= 1) {
SceneManager.LoadScene ("نام سین منوی اصلی");
}
(این کد هم میاد چک میکنه ببینه که فیل امونت لودینگ آی ام جی بزرگتر یا مساوی با 1 هست یا نه اگه بود میاد کد زیر رو اجرا میکنه حالا کد زیر میاد و منوی اصلی که اسمشو باید وسط دو علامت "" بنویسید رو باز یا اجرا میکنه.)
حالا کد رو ذخیره کنید و به ادیتور برید کد رو به آبجکت دلخواه نسبت بدید و عکسی که میخواید پر بشه (لودینگ) رو به متغیر لودینگ آی ام دی نسبت بدید حالا روی همون عکس کلیک کنید و براش یه اسپرایت یا همون عکس انتخاب کنید تا یک گزینه در کامپیوننت ایمیج عکس فعال بشه (ایمیج تایپ) حالا گزینه ایمیج تایپ حالتشو بزارید روی فیلد
Image/Image Type >> Filled
حالا چند گزینه دیگه فعال میشه گزینه اولی یعنی فیل متد رو روی گزینه :
Horizontal
قرار بدید
Fill Method >> Horizontal
گزینه دوم فیل اورجین رو روی لفت یا رایت قرار بدید :
Left or Right
این دلخواهه دیگه اگه میخواید لودینگ از چپ شروع بشه باید
Left
رو انتخاب کنید اگه میخواید از راست شروع بشه باید
Right
رو انتخاب کنید.
حالا بازی رو یه تست بزنید 

 

اسکریپت Loading به زبان سی شارپ :

// Telegram : @Unity_Technologies

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;

public class Loading : MonoBehaviour {

	public Image loadingIMG;
	public float load;
	public int timer;

	void Update () {
		load = Random.Range (0f,0.3f);
		timer = Random.Range (0,10);
		Invoke ("Loader",timer);
	}
	void Loader () {
		loading.fillAmount += load * Time.deltaTime;
		if (loadingIMG.fillAmount >= 1){
			SceneManager.LoadScene ("اسم سین منوی اصلی");
		}
	}
}

 

آدرس پست این آموزش در کانال تلگرامی : https://t.me/Unity_Technologies/143

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
تجدید کد امنیتی