آموزش بهینه سازی بازی(قسمت دوم-برنامه نوسی)


آموزش بهینه سازی بازی(قسمت دوم-برنامه نوسی)


در بخش کد نویسی چند نکته هست که اگه این نکات رو رعایت کنید هیچ مشکل افت فریمی از نظر برنامه نویسی براتون پیش نخواهد امد .

نکته اول استفاده از حلقه هست 

با توجه به اینکه حلقه ها در هر فریم به صورت اتوماتیک اجرا و بسته میشن توسیه میکنم تا حد ممکن از حلقه ها استفاده نکنید در کنار حلقه ها از عبارت تکرار نیز تا حد امکان استفاده نکنید.

حلقه ها عبارت اند از 

for-statement

do-statement

switch-statment

و عبارت تکرار

repeat-statment

حالا ممکنه مجبور باشین از حلقه استفاده کنید در این صورت اگه حلقه فقط یک بار نیازه اجرا بشه در ایونت Create ازش استفاده کنید (مثل اسکریپت فارسی نویس گیم میکر) یا ایونتهای مشابه که یک بار اجرا میشن یا حداقل در هر فریم اجرا نمیشن. در صورتی که لازمه به صورت مکرر حلقه شما اجرا بشه از ایونت  Step استفاده کنید و تا حد ممکن از ایونت draw دروی کنید و فقط در صورت اجبار از حلقه در این ایونت استفاده کنید.

نکته دوم توابع ریاضی و هندسی هست Maths

استفاده از این توابع هیچ محدودیتی نداره فقط دقت کنید از این توابع در ایونت  draw استفاده نکنید و بجاش ایونت Step رو ترجیح بدین حتی برای محاسبات کوچک مثل جمع و تفریق نیز سعی کنید از ایونت رسم دوری کنید و ایونت استپ رو ترجیح بدین.

نکته سوم ایونتها هست Events

سعی کنید درک کنید ایونتها کی و چرا اجرا میشن مثلا استفاده از کدها در ایونت  Step بجای استفاده از ایونتهای Keyboard اصلا کار عاقلانه ای نیست چون ایونت استپ در هر فریم اجرا میشه و کدهای شما رو بررسی میکنه ولی ایونتهای کیبورد فقط در زمان فشردن ، نگه داشتن یا رها کردن کلید مربوطه اجرا میشه ، برای انجام محاسبات لازم در هر فریم از ایونتهای Step استفاده کنید ، ایونت  draw فقط برای رسم هست از این ایونت بجز برای رسم استفاده دیگری نکنید حدالمقدرو از این ایونت اصلا استفاده نکنید. سعی نکنید با کد نویسی بیشتر ایونتهای موجود رو در مثلا ایونت Step بازنویسی کنید مثلا با کد نویسی ایونت Collision رو بازسازی نکنید که این ایونت برای راحتی کار شما موجود هست.

با توجه به بازی ها و سورسهای دوستان که تا حالا دیدم توسیه میکنم از ایونت رسم تا جای ممکن دوری کنید.








ارسال نظر




رفتن به بالا