در زبان gml نیز مانند هر زبان برنامه نویسی دیگری متغیر و انواع داده ای مختلفی وجود دارد

به طور کلی در زبان gml سه نوع داده ای برای متغیر ها وجود دارد

boolean : این نوع شامل مقدار true و false است که میتوان از 1 و 0 نیز استفاده کرد

string : رشته ، از این نوع برای متن ها و کاراکتر ها استفاده میشود مثال : "hi there!"

int : نوع عدد که از آن به عنوان double نیز یاد میشود (در گیم میکر)

متغیر ها در گیم میکر به 4 گروه (محدوده) تقسیم می شوند

1- instance : گروه متغیر های شی در واقع متغیر هایی هستند که هر شی به صورت یکتا دارند به عنوان مثال اگر یک ابجکت به نام دشمن داشته باشیم و در ایونت create ان کد زیر وجود داشته باشد :

hp=100;
ammo=30;

حال اگر سه شی دشمن از ابجکت دشمن بسازیم هر کدام از شی ها hp و ammo مخصوص به خود را دارند بدین معنی که اگر به شی اول دشمن تیر اصابت کند hp همان شی تغییر میکند و در سایر اشیا دشمن تغییر ندارد

2- local : این متغیر ها باید با پیشوند var تعریف شوند. یک متغیر لوکال فقط تا زمانی که اسکریپت یا ایونت در اجرا باشد معتبر است و پس از ان حذف می شود به عنوان مثال اگر در ایونت create ابجکت بنویسیم

var my_score=100;

نمیتوانیم در سایر ایونت ها از آن استفاده کنیم . به یادداشته باشید که علامت سمی کالن را باید در انتهای تعریف متغیر قرار دهید به مثال های زیر توجه کنید :

var my_score=100;
var a,b,c;
var reloading=false;
var item_name="water"

همانطور که مشاهده میکنید میتوان به صورت چندتایی متغیر های محلی را با استفاده از کاما تعریف کرد 3- global : این گروه از متغیر ها به هیچ شی یا ابجکتی اختصاص ندارند و در طول کل بازی در دسترس هستند به مثال های زیر توجه کنید :

globalvar gold;
global.food=100
globalvar coin;
global.food+=5

در خط اول اقدام به ایجاد یک متغیر گلوبال از نوع عددی با نام gold  کردیم (علامت سمی کالن اجباری است) در خط دوم ما یک متغیر گلوبال به نام food با مقدار عددی 100 ایجاد کردیم و در خط سوم یک متغیر گلوبال بدون مقدار ایجاد کردیم با توجه به مثال بالا برای تعریف یک متغیر global فرقی نمیکند از global. استفاده کنید یا globalvar اما به خاطر داشته باشید برای ارجاعات بعدی باید از global. استفاده کنید همان طور که در خط چهار مشاهده میکنید عدد 5 به global.food اضافه شده است نکته : باید توجه داشته باشید که گیم میکر چندین متغیر از قبل تعبیه شده جهانی ایجاد کرده که باید در استفاده از انها دقت داشته باشید به عنوان مثال متغیر هایی از جمله : lives,health,score متغیر های جهانی از پیش تعیین شده هستند بنابراین نمیتوانید از این نام ها برای متغیر های لوکال یا متغیر های شی استفاده کنید    

 

 



نسخه PDF این مطلب را دانلود کنید




نویسنده: hadi eb