2021-06-09 20:40:07
#آموزش استفاده از کلاس
JsonUtility برای ذخیره اطلاعات به صورت جیسون در #یونیتی:
دوستان کلاس
JsonUtility از کتابخونه
UnityEngine هست که کارش اینه که متغیر های یه کلاس رو میگیره و با اسم و مقدارشون
به صورت جیسون
string برگشت میده دو تابع داره
To و
From که To برای تبدیل یک کلاس به جیسون و
From برای تبدیل جیسون به کلاس طرز استفاده هم آسون هست و میتونید تو بازی هاتون استفاده کنید و اطلاعات رو ذخیره کنید باهاش.
خب بریم سراغ آموزش استفاده
ببینید شما یک کلاس ساختید مثلا 4 متغیر با جنس و مقادیر مختلف داره و میاید از تابع
To این کلاس استفاده میکنید:
string json = JsonUtility.To(new MyClass(...));
یه سازنده مثلا برای مقدار دهی واسه متغیر های کلاس تعریف کردیم و یه شئ از کلاسمون میسازیم و میدیم به تابع To که
object میگیره هرمتغیری با هر جنسی میتونید بدید بهش تا ذخیره کنه.
اگه متوجه نشدید یکم ساده تر میگم تا متوجه شید:
public class MyClass()
{
public string firstName;
public string lastName;
public int age;
}
الان این کلاسو تعریف کردیم با اسم
MyClass و داخلش چند متغیر "نام و نام خانوادگی و سن" مشخصات یک کاربر مثلا میایم یه متغیر ازش میسازیم
public MyClass myVar;
حالا این متغیر رو مقدار دهی میکنیم همون متغیر هایی که تعریف کردیم رو براش مقدار دهی میکنیم
myVar.firstName = "Hadi";
myVar.lastName = "HD";
myVar.age = 20;
مثلا یه مقدار دهی همینطور کردم برای مثال الان خب اینکارو که کردید میریم سراغ تابع
To و استفاده ازش برای ذخیره این متغیرمون:
JsonUtility.To(myVar);
حالا شاید شما بگید که چطوری میخوایم متن جیسون رو بگیریم ازش خب چون تابع برگشتی هست و یه مقداری رو
return میکنه پس وقتی از تابع استفاده میکنیم باید بریزیم داخل یه متغیری یا مستقیم ذخیرش کنیم
string test = JsonUtility.To(myVar);
به این شکل حالا میتونیم داخل فایل و رجیستری و سرور و... ذخیرش کنیم.
حالا بریم سراغ دریافت اطلاعاتی که ذخیره کردیم به صورت جیسون و تابع
From :
ایندفع به جای اینکه جیسون به صورت رشته ای متنی برگشت بده میاد هر چیزی که خودمون میگیم رو برگشت میده دست خودمونه هرجنسی که دادیم ذخیره کرد همون جنس رو باید بگیریم ازش.
مثال :
myVar = JsonUtility.From
(test);
متغیر myVar همونی که قبلا ساختیم از جنس MyClass کلاسی که ساختیم میایم از تابع From بهش اول جنسی که باید برگردونه که کلاسی که ساختیم هست رو میدیم بهش و بعد این تابع یک متنی میخواد همون متن جیسون که از تابع To دریافت کردیم و ذخیره کردیم رو میگیریم و میدیم به این تابع و برامون اطلاعاتو میریزه داخل متغیرمون.
مثلا شما مقدار متغیر firstName رو بزارید علی و به صورت جیسون ذخیره کنید و بعدا با تابع From همونو تبدیل کنید به متغیری که داشتید میاید اول جنس متغیری که ذخیره کردید و میدید و متن جیسون رو میدید بهش تا با اون جنس بیاد برگشت بده و fristName که نوشته بودید علی همونو میریزه داخل متغیر firstName متغیرتون.
تست یادتون نره، امیدوارم موفق باشید
@Unity_Technologies
33 views Developer , 17:40