کانستراکت2

کانستراکت2 به شما اجازه می‌دهد بازی‌هایی حرفه‌ای بسازید.

اسلایدر

کانستراکت2

کانستراکت2 به شما اجازه می‌دهد بازی‌هایی حرفه‌ای بسازید.

کانستراکت2

یک وبلاگ خوب و مفید برای یادگیری موتور بازی سازی کانستراکت2 که دسترسی به ترجمه های سایت سازنده کانستراکت2 , آموزش های تصویری فارسی , گرافیک های آماده و... را به شما میدهد.
لیست تغییرات جدید وبلاگ را می توانید از قسمت امکانات وبلاگ مشاهده نمایید که هدفمان بهتر شدن وبلاگ در جهت یپشرفت شما دوستان است.
وبلاگ ما یکی از حمایت کنندگان محک است که از درآمدی که از فروش ها بدست میاورد را به کودکان سرطانی میپردازد تا هم کاربران و هم ما در یک کار نیک سهیم باشیم!

پنل کاربردی
حق کپی و رایت



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

رفتار Platform :

این رفتار مثل یک رفتار انسانی می ماند که قابلیت "پرش" و "دویدن" و یا حرکت های دیگر مثل راه رفتن را به شئ میدهد.این رفتار از رفتار های دیگر مانند :

پشتیبانی می کند و امکان شخصی سازی زاویه جاذبه (gravity) نیز به شئ مورد نظر میدهد.

شئ ای که رفتار پلتفرم (بجای این عبارت "شئ ای که رفتار پلتفرم" از شخصیت استفاده می کنیم شخصیت در این آموزش یعنی شئ ای که رفتار پلتفرم دارد) را دارد می تواند بر روی دو رفتار (Solid , Jump-thru) بایستد مانند یک زمین که ما بر روی آن می ایستیم و داخل آن فرو نمیرویم.

شخصیت ما می توانید از زیر شئ ای که رفتار Jump-thru را دارد بپرد و روی آن قرار گیرد ولی نمی تواند از زیر شئ ای که رفتار Solid را دارد بپرد چون رفتار Solid یک رفتار جامدی است که فرق آن را در تصویر زیر مشاهده می کنید:

شخصیت ما به طور پیشفرض برای حرکت کردن از کلید های جهت (arrow) در کیبورد استفاده می کند مثلا حرکت به سمت راست کلید جهت راست < و حرکت به سمت چپ کلید > و پرش نیز ^ استفاده می شود البته شما می توانید کلید های دیگری نیز به جزء این کلید های جهت برای این حرکت شخصیت استفاده کنید در رویداد نویسی (Event sheet).

توصیه برای حرکت دادن شخصیت بصورت صحیح :

برای اینکه شخصیت شما بصورت صحیح حرکت کند توصیه می شود به کاراکتر بازی خود رفتار پلتفرم ندهید بلکه یک شئ اسپریت به صورت مستطیلی شکل نامرئی ساخته و به آن رفتار پلتفرم بدهیم و در رویداد نویسی کاراکتر بازی خود را به اسپریت نامرئی متصل کنید.

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

معکوس شدن شخصیت (Mirroring) :

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

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

همچنین با استفاده از این امکان معکوس می توان جهت حرکت تیر تفنگ را مشخص کرد که اگر قرار بود شخصیت بازی بزند که در مورد آن در آینده توضیح خواهیم داد.

پنجره ویژگی های Platform :

این رفتار شامل 10 خواص در پنجره ویژگی ها است که شامل:

  • Max speed : مشخص کردن حداکثر سرعت شخصیت بر روی کف زمین (منظور روی یک جسم جامد) بر حسب پیکسل بر ثانیه.
  • Acceleration : شتاب حرکت شخصیت بر روی رمین در محور افقی را مشخص می کند که هر چقدر عدد کوچکتر باشد شتاب نیز بیشتر است که بر حسب پیکسل بر ثانیه بر ثانیه.
  • Deceleration : مشخص کردن کاهش سرعت در محور افقی زمانی که می خواهید مسیر حرکت را تغییر بدهید مثلا در حال حرکت به سمت راست هستید سپس تغییر جهت میدید و به سمت چپ حرکت می کنید که کمی طول می کشد تا شتاب شخصیت کم شود که بر حسب پیکسل بر ثانیه بر ثانیه.
  • Jump strength : قدرت پرش شخصیت را مشخص می کند که هر چقدر عدد بیشتری باشد بیشتر به سمت بالا پرش دارد و بر حسب پیکسل بر ثانیه.
  • Gravity : شتاب شخصیت وابسته به جاذبه (گرانش) است که اگر عدد آن 0 باشد دیگر شخصیت نمی تواند بپرد یا از ارتفاع سقوط نمی کند زیرا جاذبه ای وجود ندارد و معیار آن بر حسب پیکسل بر ثانیه بر ثانیه.
  • Max fall speed : مشخص کردن حداکثر سرعت شخصیت زمانی که در حال سقوط آزاد است که بر حسب پیکسل بر ثانیه.
  • Double jump : اگر فعال باشد (enabled) , شخصیت ما زمانی که در ارتفاع است یعنی پرش کرده است می تواند دوباره بپرد(دوبار پرش).
  • Jump sustain : حداکثر زمان در میلی ثانیه است که وقتی شخصیت ما به نقطه پایان پرش میرسد به اندازه زمان میلی ثانیه در آن نقطه می ماند. (البته شک دارم)
  • Default controls : اگر فعال (Yes) باشد شخصیت را ما کنترول می کنیم یعنی می توانیم با کلید های جهت <^> آن را به سمت راست یا چپ هدایت کنیم در غیر اینصورت ما نمی توانیم خود آن را کنترول کنیم (که در حالت غیرفعال (NO) بیشتر برای شخصیت های دیگر بازی بکار میرود مثل دشمنان).
  • Initial state : شما می توانید حالت پیشفرض برای این رفتار را روی شخصیت فعال (enabled) یا غیر فعال (disabled) کنید که اگر غیر فعال کنید می توانید آن را در زمان مشخص در رویداد نویسی فعال کنید.

شرط های این رفتار (Platform conditions):

این رفتار شامل 12 رویداد یا اونت است که هر کدام که با Is شروع می شوند در طی بازی پیوسته در حال اجرا هستند ولی اگر با On شروع شوند فقط یکبار (triggers) در زمان مشخص شده اجرا می شوند که شامل:

  • Compare speed : برسی سرعت فعلی شخصیت مثلا اگر سرعت شخصیت ما برابر 500 شد تایمر بازی شروع شود.
  • Is by wall : زمانی که شخصیت ما از کنارها به یک شئ ای که جامد (دارای رفتار solid) است برخورد می کند که می توان جهت برخورد (راست و چپ) بودن آن نیز مشخص کرد البته این امکان فقط برای شئ جامد است و برای شئ پرش (Jump-thrus) عکل نمی کند.
  • Is double-jump enabled : زمانی که شخصیت ما در ارتفاع دوم یا پرش دوم است.
  • Is falling : اگر شخصیت در حال سقوط آزاد بود.
  • Is jumping : زمانی که شخصیت در حال پرش هست (یعنی به سمت بالا حرکت می کرد).
  • Is moving : زمانی که شخصیت در حال حرکت بود یعنی سرعت آن غیر از 0 بود.
  • Is on floor : زمانی که شخصیت بر روی زمین (کف) است که با رفتار های جامد (Solid) و پرش (Jump-thrus) سازگار است.
  • On fall : وقتی شخصیت در حال سقوط بود فقط یکبار فلان کار را انجام بده.
  • On jump : وقتی شخصیت در حال پرش بود فقط یکبار فلان کار را انجام بده.
  • On landed : وقتی شخصیت به زمین نشست فقط یکبار فلان کار را انجام بده.
  • On moved : وقتی شخصیت جابجا شد (حرکت کرد) فقط یکبار فلان کار را انجام بده.
  • On stopped : وقتی شخصیت ایستاد (هنگام راه رفتن مثلا توقف کرد) فقط یکبار فلان کار را انجام بده.

وظیفه های این رفتار (Platform actions):

این رفتار دارای 15 وظیفه (action) است که شامل:

  • Fall through : وقتی روی شئ پرش (Jump-thrus) قرار دارید می توانید با استفاده از این وظیفه از روی آن به پایین پرت شوید.
  • Set acceleration
  • Set deceleration
  • Set double-jump
  • Set gravity
  • Set jump strength
  • Set jump sustain
  • Set max fall speed
  • Set max speed

در مورد هر کدام از وظیفه های بالا در قسمت پنجره ویژگی ها توضیح دادیم که شما می توانید مقدار آن را در روند بازی تغییر دهید.

  • Set angle of gravity :  مشخص کردن زاویه جاذبه (گرانش) مثلا در حالت عادی از بالا به پایین جاذبه هست مثل زمین که می توان آن را در محور های مختلف تغییر داد.
  • Set enabled : می توانید رفتار شخصیت را فعال (enabled) یا غیر فعال (disabled) کنید که حالت پیشفرض آن را در پنجره ویژگی ها مشخص می کنیم.
  • Set ignoring input : می توانید کلید های ورودی را قطع و وصل کنید مثلا وقتی شخصیت در حال سقوط است دیگر نتوان کلید های حرکت را زد.
  • Set vector X : تنظیم کردن دستی برای حرکت شخصیت در محور افقی X .
  • Set vector Y : تنظیم کردن دستی برای حرکت شخصیت در محور عمودی Y.
  • Simulate control : کنترول کردن دستی شخصیت برای حرکت و پرش که برای شخصی سازی کلید های حرکت این امکان مفید است.

دستورات این رفتار (Platform expressions):

می توانید در پنجره پارامتر ها از دستورات این رفتار استفاده کنید که در مورد آن ها در بالا پنجره ویژگی ها توضیح دادیم که برای دریافت مقدار:

  • Acceleration
  • Deceleration
  • Gravity
  • JumpStrength
  • JumpSustain
  • MaxFallSpeed
  • MaxSpeed

مثلا می خواهید سرعت دشمن برابر با سرعت شخصیت باشد: Player.platform.MaxSpeed

  • GravityAngle :دریافت زاویه فعلی جاذبه (گرانش) بر حسب درجه.
  • MovingAngle : دریافت زاویه قرار گیری شخصیت روی اشیاء دیگر بر حسب درجه.
  • Speed : سرعت فعلی شخصیت را نشان میدهد.
  • VectorX : سرعت و جهت فعلی حرکت شخصیت در محور افقی را نشان می دهد که اگر سمت چپ باشد مقدار سرعت منفی است که بر حسب پیکسل بر ثانیه.
  • VectorY : سرعت و جهت فعلی حرکت شخصیت در محور عمودی را نشان می دهد که اگر سمت بالا باشد مقدار سرعت منفی است.(در کامپیوتر بر خلاف ریاضیات از بالا یه پایین مقدار زیاد می شود) که بر حسب پیکسل بر ثانیه.

  • نویسنده : مهدی ابراهیمی

Platform

رفتار پلتفرم