تبلیغات

ذخیره تنظیمات بازی با PlayerPrefs در یونیتی

آموزش یونیتی > بازی سازی > یونیتی
هادی اکبرزاده
نوشته شده توسط هادی اکبرزاده

ذخیره تنظیمات بازی با PlayerPrefs در یونیتی

طبیعتا توی اکثر بازی ها ما یک سری تنظیماتی رو برای کاربر قرار میدیم… اما بعد از اعمال تنظیمات بایستی این مقدارهارو جایی نگه داریم و هنگام بالا اومدن بازی لودشون کنیم…

در این آموزش میخوایم از کلاس PlayerPrefs استفاده کنیم، کلاسی که این امکان رو به ما میده تا داده های اولیه ای مثل String و Int و Float رو ذخیره کنیم…

نکته: این کلاس همان قابلیت Preferences در برنامه نویسی اندروید هست، پس بعد ذخیره هم طبیعتا باید محل Pref های برنامه نصب شده باشه.
نکته: این کلاس  در ویندوز، مقدار هارو در رجیستری ویندوز ثبت می کنه که در ادامه آدرس دقیقش رو بهتون می گم.

نیازی به ساخت نمونه از این کلاس نیست و متدهاش به صورت static تعریف شدن… بزارید اول چند تا از متدهای مهم این کلاسو بنویسم…


قرار دادن مقدار در Pref

  • متد SetFloat
  • متد SetInt
  • متد SetString

هر متد در وردی اولش یک رشته می گیره که به عنوان کلید یا اسم خونه برای ذخیره استفاده میشه و توی ورودی دومش هم مقدار Float یا Int یا String رو می گیره.

ذخیره تغییرات

خب ما تا زمانی که متد Save رو فراخونی نکنیم تغییرات ذخیره نمی شن… یغنی هرچی با متدهای بالا مقدار قرار بدیم ولی Save رو فراخونی نکنیم تاثیری نداره…

خواندن مقدارها

  • متد GetFloat
  • متد GetInt
  • متد GetString

بعد از فراخونی متد مورد نظر برای گرفتن مقدار مورد نظر باید مقدار کلید رو بنویسیم. اما این متد ها دو OVERLOAD مختلفی دارن که در ورودی دوم هم می تونیم مقدار پیش فرض رو مشخص کنیم تا اگه این کلید وجود نداشت اون برگردونده بشه

بررسی وجود داشتن یک کلید

شاید دوست داشته باشید بررسی کنید که آیا با یک کلیدی قبلا مقداری تنظیم شده یا نه که می تونی داز متد HasKey استفاده کنید که توی ورودیش از ما اسم کلید رو دریافت می کنه و در خروجی بهمون true یا false برمی گردونه.

حذف یک مقدار یا حذف کردن مقادیر

طبیعیه که ممکنه یه مقداری رو بخواین حذف کنید یا بخواین کل مقدار هارو یک جا حذف کنید که در این صورت می تونید از دو متد DeleteKey و DeleteAll استفاده کنید.
نکته: توجه داشته باشید که یادتون نره این هم جز تغییراته و باید بعد حذف با متد Save تغییرات به فایل Pref اعمال بشه…

محل ذخیره در رجیستری ویندوز

HKEY_CURRENT_USER/Software/AppDataLow/CompanyName/ProjectName
HKEY_CURRENT_USER/Software/Unity/UnityEditor/CompanyName/ProjectName

یکی از دو مسیر بالا محل ذخیره PlayerPrefs توی ویندوزه که البته بستگی دار پروژه رو در خود یونیتی اجرا کرده باشید یا این که Build کرده باشید.

اگه مشکلی با این بخش دارید از نظرات مطرح کنید.

 

نکته: البته می تونید از این قابلیت ذخیره سازی برای چیزهای دیگه ای به جز تنظیمات هم استفاده کنید ولی به دلیل امنیت زیادی که نداره و کاربر می تونه به راحتی ویرایشش کنه (البته کاربرای نسبتا حرفه ای) پس فقط برای تنظیمات استفاده کنید خوبه.

 

کانال تلگرام فول کده

درباره نویسنده

هادی اکبرزاده

هادی اکبرزاده

[ مدیر فول کده ]

در دنیایی پر از شبه علم زندگی می کنیم...

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نظرات ثبت شده بدون دیدگاه