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

۵ مطلب با موضوع «کانستراکت2 :: آشنایی اولیه» ثبت شده است

تست پروژه و خروجی گرفتن در کانستراکت

پیش نمایش یا تست بازی (Testing your game):

در زمانی که مشغول ساخت بازی هستید برای تست بازی خود می توانید روی آیکون اجرا (play) که در نوار ابزار یا روبان (run layout) وجود دارد کلیک کنید یا اینکه کلید F5 را در کیبورد فشار بدین یا اینکه بر روی پوشه پروژه خود راست کلیک کرده و گزینه (Run project) را انتخاب کنید:

این پیش نمایش با استفاده از یک سرور محلی است که در مرورگر اجرا می شود که شما می توانید مرورگر خود را در تنظیمات پروژه تغییر دهید:


اگر شما گوشی یا تبلت یا سایر دستگاه ها مانند لبتاب یا کامپیوتر و... دارید می توانید با استفاده از شبکه کردن محلی (local network) با وایفای پیش نمایش مستقیمی از پروژه ی خود را در دستگاه شخصی خود داشته باشید که این آموزش نیز در آینده قرار میگیرد:

همچنین می توانید با نگه داشتن کلید Shift و اجرا بازی بصورت مستقیم در دستگاه خود بازی را مشاهده کنید که این کار هم ساده و هم در روند کاری شما سرعت می بخشد.

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

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


شما بعد از تست می توانید از پروژه خود برای دستگاهی (موبایل و کامپیوتر و...) که نیاز دارید خروجی بگیرید و فایل خروجی بازی خود را با دوستان و ... به اشتراک بگذارید تا آن ها نیز در دستگاه خود با بازی شما مشغول شوند.

خروجی گرفتن (Exporting):

کانستراکت2 از بیشتر پلت فرم ها (سیستم عامل) پشتیبانی می کند یعنی می توانید با استفاده از نوار File روی گزینه Export project کلیک کنید یا آیکون مخصوص در روبان (Export project) یا با راست کلیک کردن روی پوشه پروژه اصلی از بازی خود خروجی (Exporting) بگیرید:


اگر می خواهید بازی برای وب بسازید توجه داشته باشید باید از پروژه خود خروجی HTML بگیرید و پس از خروجی به طور مستیقم روی سیستم اجرا نمی شود و باید آن را در مرورگر تست کنید و یا آن را در هاست خود آپلود کنید.

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

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

بزودی آموزش صحیح خروجی گرفتن از پروژه برای HTML را نیز در وبلاگ سیرا میگذاریم.


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

ذخیره سازی و اشتراک گذاری و همکاری پروژه در کانستراکت

ذخیره سازی (save) و اشتراک گذاری (sharing):

در کانستراکت می توان پروژه را به 2 صورت ذخیره کرد که هرکدام مزایا و معایبی دارند:

ذخیره سازی بصورت فایل(Folder projects):

پروژه را می توان در یک پوشه (...Save As project) ذخیره کرد.این نوع ذخیره به شما دسترسی به تمام فایل های یک پروژه را میدهد به عنوان مثال: لایوت های (layout) شما در پوشه layouts وجود دارد و تصاویر و ... نیز در پوشه File و....

این نوع ذخیره کردن هم در ذخیره سازی و هم در بارگزاری سریع تر است و برای پروژه های بزرگ و یا متوسط مناسب تر است(پیشنهاد سایت سازنده کانستراکت2).

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

فایل پروژه اصلی در پوشه با فرمت caproj. وجود دارد که اگر آن را باز کنید وارد کانستراک شده و دوباره می توانید پروژه خود را ویرایش کنید اما اگر قرار است پروژه خود را به هم تیمی های خود یا... بدهید باید تمام فایل های داخل پوشه را نیز به همراه آن بدهید نه فقط فایل caproj. را.

اما بهتر است بجای اینکه همه فایل ها را بفرستین یا به اشتراک بگذارید از روش دوم استفاده کنید روش ذخیره کردن پروژه در یک فایل با فرمت capx. که فقط یک فایل است و دیگر شما نمی توانید به پوشه لایوت ها و یا تصاویر و... دسترسی پیدا کنید و برای ویرایش این نوع نیر آن را باز کنید به صورت خودکار وارد کانستراکت2 می شود سپس ویرایش را انجام دهید.

ذخیره سازی بصورت تک فایل (Single-file projects):

برای پروژه های کوچک یا متوسط اغلب از این نوع ذخیره استفاده کنید زیرا ساده و مناسب تر است. این نوع ذخیره سازی تنها در یک فایل با فرمت  capx. انجام می شود همچنین برای ارسال به دیگران یا اشتراک گذاری ساده تر و مناسب تر است.

این نوع ذخیره بستگی به پروژه شما دارد و ممکن است در ذخیره سازی یا بارگذاری کمی آهسته تر عمل کند البته اگر بصورت تیمی کار می کنید و پروژه شما سنگین تر است بهتر است از روش اولی استفاده کنید.

تبدیل به فرمت های دیگر (Converting between types):

شما می توانید نوع ذخیره اول را به ذخیره نوع دوم و برعکس تبدیل کنید به سادگی فایل های داخل روش ذخیره اول را در یک فایل zip فشرده کنید و سپس نام فرمت فایل zip. را به capx. تغییر بدهید به همین سادگی و برعکس نیز می توانید انجام بدین یعنی فایل capx. در روش دوم را اسمش را از فرمت capx. به zip. تغییر بدهید و سپس استخراج کنید:


همکاری در پروژه های(Collaborating on projects):

کانستراکت2 این امکان را ندارد که همزمان چند نفر از یک سیستم پروژه را توسعه دهند ولی روش های ذخیره سازی متنوعی دارد که کار شما را برای همکاری بین هم تیمی خود را آسان تر می کند که بصورت تیمی پیشنهاد می شود از روش ذخیره سازی اول استفاده کنید.


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

ساختار یک پروژه در کانستراکت

وقتی یک پروژه جدید میسازید شامل چند قسمت اصلی و پایه است که می توان به لیست پوشه های فایل پروژه (Project Bar)  که در دسترس است اشاره کرد.

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


در تصویر بالا همانطور که مشاهده می کنید ما دو تا قولدر به پوشه لایوت (Layouts) اضافه کردیم به اسم های (Game1) و (Game2).

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

مثلا در تصویر زیر مشاهده می کنید که ما در محیط لایوت دو تا شئ ماشین وارد کردیم و به طور سلیقه ای در لایوت کنار هم گذاشتیم:


لایوت ها نیز می توانند لایه های مختلفی داشته باشند اما منظور از لایه ها چیست؟ به طور مثال اگر شما بازی کارت بازی را کرده اید ابتدا یک کارت گذاشته می شود که همان لایه 1 و سپس یک کارت دیگر روی آن قرار می گرد که همان لایه 2 و همچنین این کارت ها ادامه پیدا می کند پس هر کارت یک لایه است که بر روی دیگری قرار گرفته است اشیاء به همین صورت بر روی اشیاء دیگر نیز می توانند قرار بگیرند با امکان لایه گذاری.
در تصویر زیر یک نمونه از لایه گذاری را مشاهده می کنید که ما سه لایه ساخته ایم:
هر لایه یک شماره دارد به طور مثال لایه background شماره 0 است و.... توجه کنید اشیاء ای که روی لایه 1 ساخته می شوند بر روی لایه 0 قرار می گیرند و امکان ندارد که زیر اشیاء لایه 0 قرار بگیرند مگر اینکه لایه آن را نیز به لایه 0 تغییر بدین و سپس تنظیم کنید.
رویداد نویسی(Event sheet):
خب برای اینکه درک بهتری از این قسمت داشته باشید مثال کارت بازی را ادامه میدهیم خب ما کارت ها را روی یکدیگر می گذاریم که نقش لایوت ما را داشت ولی چه کسی در کارت بازی برنده می شود کسی که کارت همرنگ را روی کارت قبلی بگذارد و اگر این رویداد رخ داد کارت ها را بر میدارد زیرا برنده شده است .
ما پس در لایوت فقط طراحی را انجام میدهیم وظیفه دادن به اشیاء و .... را در رویداد نویسی(Event sheet) انجام میدهیم که ساده است و نیازی به کد نویسی ندارد.
در رویداد نویسی لیستی از رویداد یا اونت ها (Event) آماده است که این اونت ها قبلا با جاوا اسکریپت نوشته شده اند و بصورت گزینه در لیست وجود دارند.
هر لایوت می تواند یک صفحه رویداد نویسی داشته باشد اما یک صفحه رویداد نویسی را می توان برای چند لایوت منظور کرد:
همچنین می توان در یک صفحه رویداد نویسی به یک صفحه رویداد نویسی دیگر متصل شد و سرچشمه گرفت با فعال کردن امکان شامل شونده (includes). که در آینده بیشتر به اونت ها میپردازیم.
انواع اشیاء (Object Types):
هر شئ (Object) را می توان یک کلاس تعریف کرد. به طور مثال اگر ما دو تا شئ مانند دشمن 1 و دشمن 2 داشته باشیم در بازی نقش دشمن را ایفا می کنند پس شئ ها می توانند در یک بازی نقش های مختلفی داشته باشند پس این مهم است که نقش یک شئ در بازی چی باشد یا می توان یک خانواده از دشمن ساخت که به طور مثال دشمن 1 و دشمن 2 و دشمن 3 هر سه شئ یک نقش را انجام بدهند که این امکان در کانستراکت2 خانواده کردن (Families) نام دارد که برای مطالعه بیشتر اینجا را مطالعه کنید:
شئ سیستم (System object):
این شئ یکی از مهمترین شئ های کانستراکت2 است که بطور خودکار در هر پروژه ای که میسازید وجود دارد و نقش های اصلی و پایه بازی را ایفا می کند شما بدون این شئ نمی توانید کاری کنید زیرا قابلیت های مهمی در این شئ وجود دارد. شما نمی توانید این شئ را از پروژه حذف کنید.
کاربرد این شئ به سیستم پروژه مربوط می شود و می توان گفت بیشتر اشیاء در بازی که خودمان به پروژه اضافه می کنیم از این شئ سیستم سرچشمه میگیرند که در جلوتر بیشتر به آن میپردازیم.

صدا (Sounds) و موسیقی(Music):
کانستراکت2 این امکان را به شما میدهد که هر فایل صوتی با فرمت های مختلف را به بازی خود اضافه کنید.معمولا صدا ها جلوه های صوتی کوتاه مدت هستند برای رویداد هایی که در بازی اتفاق میفتد مثل صدای انفجار و یا برخورد.
موسیقی نیر باید برای آهنگ های محیط بازی استفاده شوند مثل آهنگ منو , آهنگ مرحله یک و.... این مهم است که فایل های صوتی خود را سازماندهی کنید و از آن ها اشتباه بجای یکدیگر استفاده نکنید.
وقتی شما یک صدای ogg. به پروزتان اضافه کنید یک فایل صوتی دیگر نیز با فرمت m4a. کنار آن میسازد دلیل آن نیز این است که همه مرورگر ها از یک فرمت مشابه پشتیبانی نمی کنند مثلا مرورگر Internet Explorer و Safari از صدای m4a. پشتیبانی می کنند و بقیه مرورگر ها مانند: Firefox و Chrome و Opera و.. از فرمت ogg. پشتیبانی می کنند.
کانستراکت2 امکان تبدیل و ساختن نوع دیگر فرمت را موقع وارد کردن یکی از فرمت ها به وجود میاورد:

فایل های دیگر (Project Files):
فایل های مختلف با فرمت های مختلف مانند css. یا txt. و.... را نیز می توان به کانستراکت2 اضافه کرد که لیستی از فرمت ها را بزودی در آموزش های جلوتر توضیح خواهیم داد. برای وارد کردن یک فایل از محیط سیستم خود نیز می توانید روی پوشه فایل راست کلیک کرده و گزینه import fileas را بزنید:
واحدهای رایج(Common units):
در کانستراکت2، گاهی اوقات شما نیاز به وارد کردن مقدار هایی مانند زاویه، سرعت یا اندازه می شوید که این ها در کانستراکت2 هماهنگ هستند. واحدهای رایج عبارت هستند از :
مکان ها (Positions) بر پایه پیکسل (x,y) هستند.ابتدا یا مبداء (origin) یک شئ در حالت (0,0) در لایوت قسمت بالای صفحه سمت چپ (top-left) است.توجه کنید مقدار Y از بالا به سمت پایین زیاد می شود و این برعکس ریاضیات است.(که این در بیشتر موتور های بازی سازی به این صورت است).
اندازه ها (Sizes) بر پایه پیکسل هستند.
زاویه ها (Angles) بر پایه درجه هستند. 0درجه سمت راست و مانند یک عقربه ساعت عمل می کند و هرچه عقربه به جلوتر حرکت کند زاویه بیشتر می شود.
زمان (Times) بر پایه ثانیه است.
سرعت (Speeds) بر پایه پیکسل در هر ثانیه است.
شتاب (Accelerations) بر پایه پیکسل در هر ثانیه در ثانیه (pixels per second per second) است.
ساختار بر مبنای صفر (Zero-based indexing):
کانستراکت2 نیز برای هماهنگی با برنامه نویسی , از مقدار 0 بجای 1 شروع می شود و این یک عیب نیست بلکه در بعضی جاها خیلی کاربردی است.
در قدیم مقدار از 1-2-3 شروع میشد ولی در کانستراکت2 و بیشتر برنامه ها این مقدار از 0-1-2 شروع می شود.


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

رابط محیطی کانستراکت

بخش های اصلی کانستراکت2 را می توان به 9 قسمت تقسیم کرد که در جلوتر هرکدام را توضیح مختصری میدهیم که در تصویر زیر آن ها را مشاهده می کنید:



1: منوی فایل (File) یا روبان (Ribbon tabs):


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

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

اگر روبان شما در صفحه نیست یا می خواهید آن را از صفحه نمایش بردارید یا ظاهر کنید می توانید روی آیکونی که در سمت بالای راست صفحه وجود دارد به نام  arrow کلیک کنید:

همچنین این روبان 4 دسترسی سریع و مناسبی مانند ذخیره و بارگزاری پروژه , بازگشتن به حالت قبلی و بعدی تغییرات , پیش نمایش و اشکال یابی را در اختیار شما قرار میدهد و اگر می خواهید به امکانات خوب و مهم دسترسی پیدا کنید بهترین گزینه استفاده از روبان است.

2: چیدمان مرحله یا اتاق (Layout):

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

3:مشاهده تب ها (پنجره مجزا):


این تب ها اجازه سریع برای جابجا شدن بین اتاق مرحله (layout) و رویداد نویسی (Event sheet) است که چیدمان بازی در لایوت تنظیم می شود و رویداد نویسی (به اصطلاع کد نویسی) در تب رویداد نویسی.

شما می توانید با کلیک کردن بر روی آن ها و جابجایی با ماوس آن ها را در صفحه نمایش به دو قسمت تقسیم کنید:


4:خواص یا ویژگی (properties) اشیاء:

هر اشیاء که در پروژه وجود دارد دارای خواص یا ویژگی های خاصی مانند اسم و اندازه و عناصر و ... است که وقتی روی یک شئ کلیک کنید این خواص در پنجره (properties) نمایان می شود و شما خواص آن را مشاهده می کنید.

5:فایل های پروژه (Project Bar) و پنجره لایه ها(Layers Bar):

به طور پیشفرض وقتی یک پروژه میسازید تمام فایل ها یا لایوت یا اشیاء یا.... در این پوشه ها قرار دارند و یک نمای کلی از پروژه شما است.برای قرار گیری اشیاء در سطوح های مختلف از پنجره لایه ها (Layers Bar) استفاده می شود.
6: جابجایی بین تب فایل های پروژه و پنجره لایه ها:

این امکان را برای شما فراهم میاورد تا بین دو پنجره جابجا شوید.

7:پنجره شئ های (Object Bar) موجود:

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

8: نوار وضعیت(Status Bar):
در پایین پنجره کوکی که در پایین قرار دارد نوار وضعیت نام دارد که نشانگر:

  •      نمایش ابتدایی خروجی گرفتن یا وارد کردن یک پروژه را نشان میدهد.
  •      چه تعداد شما رویداد در پنجره رویداد نویسی استفاده کردین به همراه حجم آن.
  •      لایه فعال کنونی که اشیاء جدید بر روی آن قرار گیرد.
  •      موقعیت مختصاتی موس (x,y) در هر لحظه جابجایی.
  •      سطح زوم یا مقدار زومی که در لایوت شده است.

9:کلید های سمت راست بالای (Top-right buttons) پنجره برنامه:

در اکثر برنامه های تحت ویندزو داشتن سه کلید الزامی است که شامل بستن برنامه , تمام صفحه کردن و کوچک کردن برنامه است و در بالای نوار File نیز کلید هایی وجود دارد برای ذخیره پروژه , بازگشت به وضعیت قبلی , رفتن به وضعیت بعدی , پیش نمایش و تنظیم کردن پنجره بالا.

سفارش سازی:

شما می توانید هر چیز که در بالا توضیح دادیم را بصورت سلیقه ای تنظیم کنید.هرکدام از پنجره ها را می توان با ماوس به اطراف کشید و رها کرد تا بصورت تب یا شناور یا یک مکان مناسب سلیقه ای برای آن انتخاب کرد یا می توانید آن ها را از لایوت حذف کنید تا فضای بیشتری در اختیار شما باشد.روبان را که در بالا توضیح دادیم نیز می توان مخفی کرد.

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



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

شروع آشنایی با کانستراکت

وقتی برای اولین بار وارد کانستراکت2 می شوید یک چنین صفحه ای را به شما نشان میدهد:

این پنجره این امکان را به شما میدهد که پس از بار کردن برنامه سریع و ساده به بعضی از گزینه ها مانند ایجاد یک پروژه جدید، مثال های آماده، پروژه های اخیرا باز شده خود و لینک به فیس بوک، توییتر و گوگل صفحات ما (سایت سازنده کانستراکت2) و ... دسترسی پیدا کنید.

آموزش های مبتدی:

اگر یک کاربر ساده و تازه کار هستید نیاز دارید از آموزش های آماده ای که همراه کانستراکت2 است استفاده کنید که در تصویر بالا به گزینه ای به اسم manual وجود دارد که اگر روی آن کلیک کنید وارد راهنما تازه کاران می شوید یا اینکه در محل نصب کانستراکت2 بروید:

D:\Construct 2\manual

سپس فایل manual.html را در مرورگر خود باز کنید تا آموزش هایی که به زبان انگلیسی هستند را مشاهده کنید و برای یادگیری و درک کانستراکت2 بسیار مفید هستند(ما نیز در حال ترجمه کامل آن هستیم پس با ما باشید)
مثال های آماده:
اگر دوست دارید با نمونه های ساخته شده یا مثال های خوده کانستراکت2 که ما به آن سورس می گوییم آشنا شوید و به آن ها دسترسی پیدا کنید در تصویر بالا گزینه ای به اسم Browser examples وجود دارد که اگر روی آن کلیک کنید سورس های زیادی دم دست هستند که می توانید به عنوان نمونه کاری از آن ها استفاده کنید:




این سورس ها که بیش از 90 تا هستند شما را با انواع سبک بازی مثل پلت فرم یا بازی های فیزیکی و .. آشنا می کنند که بسیار ساده هستند. آن ها را به شدت توصیه می کنیم که نگاه کنید و با تکرار و تمرین همانند آن ها زا بسازید تا در یادگیری شما مفید واقع شود.
خیلی از سوالات شما را این مثال ها جواب داده اند پس اگر سوالی داشتید در مورد کنترول شئ یا ... می توانید جواب آن ها را در این مثال ها پیدا کنید.
تنظیم کردن:
شما به سادگی می توانید این پنجره ای که در بالا توضیح دادیم و موقع باز کردن کانستراکت2 به طور خودکار باز می شود را غیر فعال کنید تا دیگر موقع باز شدن برنامه این پنجره به نمایش در نیاید پس از نوار File روی گزینه preferences کلیک کنید :

سپس تیک گزینه Show start page on startup را بردارید:




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