ایونتها (رویدادها)

گیم میکر بر اساس ایونتها (رویدادها) کار میکند در این بخش توضیحی در مورد ایونتها ارائه خواهیم کرد

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

در مثال بالا چندین ایونت وجود دارد که در هنگام اجرا اکشنهای ( .Actions. ) هر ایونت به صورت ردیفی اجرا می گردد ولی در هنگام ایجاد ایونت (رویداد) هیچ اکشنی برای ایونت اختصاص داده نشده است و شما باید اکشن مورد نظر را به ایونت مربوطه اختصاص دهید. برای افزدون ایونت به آبجکت کلید add event را بزنید .

برخی از این ایونتها دارای زیر رده بوده و برخی دیگر خود ایونت اصلی هستند.به طور مثال با انتخاب ایونت Keyboard مینوانید کلید کیبورد مورد نظر خود را برای اجرا انتخاب کنید ، در عوض ایونت .create. خود یک ایونت اصلی است. بعد از انتخاب ایونت شما میتوانید از لیست سمت راست از لیب مورد نظر اکشن مربوطه ( .Actions. ) را برای ایونت خود انتخاب و با گرفتن و کشیدن (درگ اند دراب) اکشن مورد نظر را به ایونت خود اضافه نمایید در زیر یک نمونه تصویر برای این کار قرار داده شده است.

با استفاده از موس میتوانید با روش گرفتن و کشیدن مکان اکشنها را تغییر داده و اکشن مربوطه را به بالاتر یا پایینتر از انتقال دهید .در حالت انتقال اکشن میتوانید با فشردن کلید alt یک کپی از اکشن مربوطه را به مکان جدید انتقال دهید . با انتخاب اکشن و فشردن کلید delete میتوانید اکشن را حذف کنید. 

همچنین شما میتوانید با دو کلید delete و change موجود در انتهای آبجکت ایونت مورد نظر را حذف و یا تغییر دهید.

دقت کنید ایونتها اولویت اجرا داشته و به ترتیب اولویت اجرا میگردد برخی ایونتها فقط یک بار اجرا شده و برخی دیگر طی مراحلی تکرار میگردند.

ترتیب ایونتها

به صورت کلی در هنگام اجرای یک روم ایونتهای زیر به ترتیب اجرا میشوند.

ایونت کریت (.Create Event.)

ایجاد اینستنسها (.Instance Creation Code.)

ایونتهای شروع بازی (.Game Start Event.)

کدهای استارت روم (.Room Creation Code.)

ایونتهای شروع بازی (.Room Start Event.)

شما میتوانید در بخش تنظیمات روم (.Settings.) ترتیب ایجاد آبجکتها را مشخص کرده و یا تغییر دهید.

در ایونت .step. سه زیر مجموعه وجود دارد که ترتیب زیر اجرا میگردند.

  • Begin Step Event
  • Step Event 
  • End Step Event

زیر مجموعه ایونتهای بخش رسم به ترتیب زیر اجرا میگردند (بجز ایونت resize در این بخش که به صورت دیگری اجرا میگردد)

  • Pre Draw Event
  • Draw Begin Event
  • Draw Event
  • Draw End Event
  • Post Draw Event
  • Draw GUI Begin Event
  • Draw GUI Event
  • Draw GUI End Event

به صورت کلی ترتیب و اولویت اجرای ایونتها به صورت زیر است .

ایونت Create        
ایونت Destroy         
ایونتهای .Alarm.           
ایونتهای Step                 
ایونت Collision                 
ایونتهای Keyboard                
ایونتهای .Mouse.                       
ایونتهای .Other.                           
ایونتهای .Draw.                                      
ایونتهای Async.hronous.                                             



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




نویسنده: tfh1368