درود مهمان گرامی! ثبت نام

آموزش ساخت بازی با C# آموزش پروژه محور یونیتی Unity آموزش ساخت بازی حدس تصویر
آموزش مدل سازی در Maya آموزش یونیتی Unity- ساخت منو آموزش گنجینه برنامه نویسی اندروید
آموزش مدل سازی با 3Ds Max آموزش متحرک سازی با Unity آموزش گرافیک کامپیوتری با OpenGL
آموزش متحرک سازی در 3Ds Max مجموعه آموزش های ساخت بازی آموزش ساخت بازی در ویژوال بیسیک
● آموزش های رایگان ● تبلیغات دیجیتال هوشمند ● استخدام در فرادرس

امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
ذخیره متغیرها در گیم میکر
#1
سلام...من در گیم میکر چند تا متغیر تعریف کردم از نوع variable ... برای تعریف این متغیر ها در  ایونت کریت یک ابجکت که در صفحه اصلی بازی قرار دارد این کد رو نوشتم:
کد:
global.score = 0


بخاطر این کد متغیر تعریف می شه اما من یک مشکل دارم اون هم اینکه من برای سیو و لود این متغیر کاری نمی تونم بکنم چون بر اساس کد بالا موقع شروع بازی متغیر برابر صفر می شه...باید چیکار کنم که با شروع بازی مقدار متغیر برابر با آخرین تغییرش در بازی باشه؟ (کد بالا رو نمی تونم بردارم وگرنه موقع اجرا ارور می ده که متغیر تعریف نشده) 
پاسخ
#2
سلام
تعریف متغیر ها و مقدار دهی اولیه شون رو درست انجام دادید.
متغیر ها ماهیتا درون رم کامپیوتر شما تعریف میشن و قرار میگیرن و رم هم با بستن برنامه یا با خاموش شدن کامپیوتر اطلاعاتش پاک میشه. پس طبیعیه که شما متغیر ها و مقادیرشون رو در هر اجرای برنامه از دست بدید.
 برای اینکه متغیر های شما حفظ بشن و بتونید در طولانی مدت مقدارشون رو نگه دارید باید تلاش کنید مقدارشون رو یه جایی نگه داری کنید. محل نگهداری میتونه یه فایل txt کنار بازیتون باشه ، میتونه توی ریجیستری ویندوز باشه یا داخل سرور هاتون. 
بسته به پروژتون میتونید از یکی از این راهکار ها استفاده کنید.
پاسخ
#3
(7/4/1397، 06:25 عصر)aminblog76 نوشته است: سلام
تعریف متغیر ها و مقدار دهی اولیه شون رو درست انجام دادید.
متغیر ها ماهیتا درون رم کامپیوتر شما تعریف میشن و قرار میگیرن و رم هم با بستن برنامه یا با خاموش شدن کامپیوتر اطلاعاتش پاک میشه. پس طبیعیه که شما متغیر ها و مقادیرشون رو در هر اجرای برنامه از دست بدید.
 برای اینکه متغیر های شما حفظ بشن و بتونید در طولانی مدت مقدارشون رو نگه دارید باید تلاش کنید مقدارشون رو یه جایی نگه داری کنید. محل نگهداری میتونه یه فایل txt کنار بازیتون باشه ، میتونه توی ریجیستری ویندوز باشه یا داخل سرور هاتون. 
بسته به پروژتون میتونید از یکی از این راهکار ها استفاده کنید.

خیلی ممنون...
من برای اندروید بازی می سازم...باز هم می شه از این روش ها استفاده کرد؟
اگه می شه لطفا یه لینک اموزش کار با فایل txt رو برام بفرستید...ممنون می شم
پاسخ
#4
برای راحتی کار پیشنهاد میکنم از ds_map استفاده کنید و مستقیما ds_map رو ذخیره و لود کنید برای اطلاعات بیشتر هلپ گیم میکر رو مطالعه کنید
مرجع گیم میکر در ایران
کانال تلگرام هلپ گیم میکر
ای پی تیم اسپیک بیدگیمز(سروری برای همه عزیزان بازی ساز و توسعه دهنده):5.9.247.246
ایدی تلگرام:hadieb73

پاسخ
#5
(7/4/1397، 04:39 عصر)Hamid1225 نوشته است: سلام...من در گیم میکر چند تا متغیر تعریف کردم از نوع variable ... برای تعریف این متغیر ها در  ایونت کریت یک ابجکت که در صفحه اصلی بازی قرار دارد این کد رو نوشتم:
کد:
global.score = 0


بخاطر این کد متغیر تعریف می شه اما من یک مشکل دارم اون هم اینکه من برای سیو و لود این متغیر کاری نمی تونم بکنم چون بر اساس کد بالا موقع شروع بازی متغیر برابر صفر می شه...باید چیکار کنم که با شروع بازی مقدار متغیر برابر با آخرین تغییرش در بازی باشه؟ (کد بالا رو نمی تونم بردارم وگرنه موقع اجرا ارور می ده که متغیر تعریف نشده) 

سلام منم وقتی داشتم بازیمو میساختم دقیقا همین مشکل رو داشتم! خیلی روش فکر کردم هر کاری میکردی نمیشد از طریق متغیرای داخل بازی این کارو انجام بدی...
تا بلاخره یه راه حل پیدا کردم wink
باید از یه فایل ini استفاده کنی
به این صورت که توی کریت روم اول مینویسی که یه فایل ini باز کنه بعد اگر کلید(key) مربوط به سکه وجود نداشت یه key  با نوع real بسازه و مقدارش رو صفر کنه( هر عملی که میخوای فقط دفعه ی اول انجام شه رو هم باید تو این if بنویسی)

بعد متغیر سکت رو برابر با اون key میکنی و فایل رو میبندی
البته باید حواست باشه یا با هر تغییر مقدار سکه یا فقط موقع خروج از یه روم مقدار جدید سکه و تو فایل ini ذخیره کنی
پاسخ
#6
(10/4/1397، 05:53 عصر)imanbeik نوشته است:
(7/4/1397، 04:39 عصر)Hamid1225 نوشته است: سلام...من در گیم میکر چند تا متغیر تعریف کردم از نوع variable ... برای تعریف این متغیر ها در  ایونت کریت یک ابجکت که در صفحه اصلی بازی قرار دارد این کد رو نوشتم:
کد:
global.score = 0


بخاطر این کد متغیر تعریف می شه اما من یک مشکل دارم اون هم اینکه من برای سیو و لود این متغیر کاری نمی تونم بکنم چون بر اساس کد بالا موقع شروع بازی متغیر برابر صفر می شه...باید چیکار کنم که با شروع بازی مقدار متغیر برابر با آخرین تغییرش در بازی باشه؟ (کد بالا رو نمی تونم بردارم وگرنه موقع اجرا ارور می ده که متغیر تعریف نشده) 

سلام منم وقتی داشتم بازیمو میساختم دقیقا همین مشکل رو داشتم! خیلی روش فکر کردم هر کاری میکردی نمیشد از طریق متغیرای داخل بازی این کارو انجام بدی...
تا بلاخره یه راه حل پیدا کردم wink
باید از یه فایل ini استفاده کنی
به این صورت که توی کریت روم اول مینویسی که یه فایل ini باز کنه بعد اگر کلید(key) مربوط به سکه وجود نداشت یه key  با نوع real بسازه و مقدارش رو صفر کنه( هر عملی که میخوای فقط دفعه ی اول انجام شه رو هم باید تو این if بنویسی)

بعد متغیر سکت رو برابر با اون key میکنی و فایل رو میبندی
البته باید حواست باشه یا با هر تغییر مقدار سکه یا فقط موقع خروج از یه روم مقدار جدید سکه و تو فایل ini ذخیره کنی
خیلی ممنون از شما...من در موردini یه چیزای کلی ای می دونم...هرکاری کردم نتونستم متغیرvariable رو به این وسیله ذخیره و لود کنم...اگه می شه لطفا یه کد برای ذخیره global.score از طریق ini بفرستید...با کمی توضیح...واقعا ممنونتون می شم mwah
پاسخ
#7
کد:
//Save
ini_open("save.ini")
ini_write_real("score","score",global.score);
ini_close();

//Load
ini_open("save.ini")
global.score = ini_read_real("score","score",0);
ini_close();

به همین راحتی
پاسخ
 سپاس شده توسط qwerty13 ، Hamid1225
#8
(11/4/1397، 02:19 عصر)ArminaGames نوشته است:
کد:
//Save
ini_open("save.ini")
ini_write_real("score","score",global.score);
ini_close();

//Load
ini_open("save.ini")
global.score = ini_read_real("score","score",0);
ini_close();

به همین راحتی

سپاس گزارم happy

من این کد سیو رو در game end و کد لود روgame start گذاشتم با سیستم کامپیوتر سیو و لود می شه ولی با گوشی امتحان می کنم جواب نمی ده


ویرایش شده:
درست شد...سیو و لود می شه
پاسخ
#9
اشتباهی که شما انجام دادید در قسمت لود هست.مثلا شما میخواید در گوشه منو تعداد سکه هارو بنویسید و اولین بار هم هست که وارد بازی میشید پس باید سکه را با default لود کنید که برابر 0 هست.(یعنی اولین بار که بازی اجرا بشه سکه 0 باشه).این کد رو بنویس:
کد:
ini_open('data.ini')
global.coin = ini_read_real('section','key',0)
ini_close();
بعد مثلا میخوای بزنی 5 سکه ادد شه:
کد:
ini_open('data.ini')
ini_write_real('section','key',global.coin+5)
ini_close();

وبلاگ ما :

www.winhelp.blog.ir
پاسخ
#10
(12/4/1397، 10:26 صبح)Shine Studio نوشته است: اشتباهی که شما انجام دادید در قسمت لود هست.مثلا شما میخواید در گوشه منو تعداد سکه هارو بنویسید و اولین بار هم هست که وارد بازی میشید پس باید سکه را با default لود کنید که برابر 0 هست.(یعنی اولین بار که بازی اجرا بشه سکه 0 باشه).این کد رو بنویس:
کد:
ini_open('data.ini')
global.coin = ini_read_real('section','key',0)
ini_close();
بعد مثلا میخوای بزنی 5 سکه ادد شه:
کد:
ini_open('data.ini')
ini_write_real('section','key',global.coin+5)
ini_close();

وبلاگ ما :

www.winhelp.blog.ir
می شه بگید این کد ها رو باید در کجا وارد کنم؟
اگه دقت کرده باشید::
نقل قول:
کد:
("score","score",0)
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  ذخیره بازی Hamid1225 2 185 13/5/1396، 10:30 عصر
آخرین ارسال: Milad_Hyper
  تبدیل کد گیم میکر 8 به گیم میکر استدیو gamevar 3 304 4/5/1396، 01:07 عصر
آخرین ارسال: mamali me
Star ذخیره بازی در اندروید (ادامه) IntelBoy 1 178 25/4/1396، 12:08 صبح
آخرین ارسال: arian021
  تفاوت میان گیم میکر 8 با گیم میکر استادیو mehrsa 2 764 27/7/1394، 04:32 عصر
آخرین ارسال: mehrsa
  درخواست ذخیره عدد درون متغیر بدون محدودیت Xaniar 4 1,233 11/2/1394، 10:57 صبح
آخرین ارسال: Xaniar



کاربرانِ درحال بازدید از این موضوع: 1 مهمان