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

۳۰ مطلب با موضوع «کانستراکت2 :: رابط و پنجره ها» ثبت شده است

پنجره اشکال زدایی و تست

پنجره اشکال زدایی(Debugger):

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

چگونه دیباگر را باز کنیم؟

دیباگر می‌تواند از سربرگ Home در روبان، نوار دسترسی سریع، کلیک راست بر روی نام پروژه و یا یک لیوت در نوار پروژه، یا با کلید میانبر Ctrl + F5 اجرا شود.



دیباگر مثل یک پیش‌نمایش عادی عمل می‌کند، با این تفاوت که همراه بازی یک پانل اضافی هم به چشم می‌خورد که شامل اطّلاعات زیاد و تنظیمات مفیدی است.



در حالت دیباگ، آدرسی که در مرورگر نمایش داده می‌شود به عبارت debug/ ختم می‌شود، مثلاً http://localhost:50000/debug . حالا شما می‌توانید با استفاده از این ویژگی بین حالت دیباگر و پیش‌نمایش معمولی جابجا شوید (با اضافه کردن debug/ به آدرس عادی پیش‌نمایش به حالت دیباگ بروید و یا با حذف debug/ از آخر آدرس دیباگ به حالت پیش‌نمایش عادی بروید). حتّی می‌توانید با کمک پیش‌نمایش از طریق وای‌فای و اضافه کردن debug/ به انتهای آدرس، دیباگر را بر روی موبایل خود ببینید، مثلاً http://192.268.1.3:50000/debug .


شخصی سازی پنجره دیباگر:

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


دیباگر می‌تواند در پنجره‌ای دیگر هم (به حالت پاپ آپ) نمایش داده شود. این قابلیّت برای کسانی که از چند مانیتور استفاده می‌کنند مفید است. بازی با استفاده از تمام پنجره‌ی مرورگر نشان داده می‌شود، و پنجره‌ای جداگانه پانل دیباگ را نمایش می‌دهد. برای این کار باید روی دکمه‌ی pop-out که در تصویر زیر می‌بینید کلیک کنید. با کلیک دوباره بر روی این دکمه یا بستن پنجره‌ی پاپ آپ، این پانل دوباره به پنجره‌ی اصلی مرورگر باز می‌گردد.


دستورات اصلی دیباگر:

در اطراف دکمه‌ی pop-out چند وسیله‌ی مفید هم وجود دارند که به قرار زیرند:

Pause: بازی را موقّتاً متوقّف می‌کند. وقتی می‌خواهید اطّلاعاتی را در لحظاتی خاص بررسی کنید این امکان به کمک‌تان می‌آید. بعد از متوقّف شدن بازی این دکمه به Resume تبدیل می‌شود، با کلیک بر روی آن بازی ادامه پیدا می‌کند.

Step: فقط در مواقعی که بازی موقّتاً متوقّف شود امکان استفاده از این گزینه وجود دارد. این فریم بعدی بازی را نشان می‌دهد، بدون این که Δt) dt) را تغییر دهد. برای مواقعی که می‌خواهید رویدادی را فریم به فریم بررسی کنید و ببینید چه اتّفاقی رخ می‌دهد این ویژگی بسیار مفید است.

Save و Load به صورت موقّت بازی را ذخیره می‌کند، که به شما کمک می‌کنند که در وضعیّتی خاص بازی را ذخیره کنید، و هر موقع خواستید دوباره به همان وضعیّت برگردید. این برای اجرای یک قسمت از بازی به صورت مکرر به درد می‌خورد. مثل Saveهای عادی، وضعیّت فعلی بازی مداوماً در مرورگر فعلی ذخیره می‌شود. بنابراین سیوها در مرورگرهای دیگر در دسترس نیستند، امّا در همان مرورگر حتّی بعد از بستن و باز کردن مجدّد مرورگر، یا ریست کردن کامپیوتر و… باز هم در دسترس خواهد بود.

Restart: بازی را دوباره از ابتدا اجرا می‌کند.


خلاصه عملکر آن:

جزئیّاتی در رابطه با عملکرد بازی در بالا سمت چپ این پانل به رنگ خاکستری کم‌رنگ به چشم می‌خورد. مقادیری که در این قسمت وجود دارند از چپ به راست به قرار زیر هستند:

تعداد اشیاء (مثلاً 500 objects): تعداد اشیائی که در حال حاضر وجود دارند را نشان می‌دهد. تعداد بسیار زیاد اشیاء عملکرد بازی را کاهش می‌دهد. این مقدار معادل اکسپرشن سیستمی objectcount است.

نرخ فریم (مثلاً 60 FPS): نمایش این‌که در هر ثانیه چند فریم در بازی نمایش داده می‌شود. اکثر صفحات نمایش هر یک‌شصتم ثانیه به روز رسانی می‌شوند، بنابراین در حالت مطلوب بازی باید در 60 فریم بر ثانیه (60 FPS) اجرا شود. این مقدار معادل اکسپرشن سیستمی fps است.

تخمین CPU time (مثلاً 20% CPU): مقداری تخمینی از این‌که چه‌قدر از CPU time صرف اجرای دستورات بازی می‌شود. این مقدار همیشه دقیق نیست، بیشتر به این خاطر که فقط زمانی را که صرف اجرای جاوااسکریپت اصلی می‌شود در نظر می‌گیرد. سربرگ Profile می‌تواند مشخّص کند که که هر کدام از بخش‌های بازی چه مقدار از CPU time استفاده می‌کند، در ادامه‌ی این راهنما در مورد این سربرگ نیز توضیحاتی خواهیم داد. این مقدار معادل اکسپرشن سیستمی CPUUtilisation است.

حافظه‌ی تخمینی مورد استفاده برای تصاویر (مثلاً 32.5mb images): تخمینی از این‌که چه مقدار از حافظه (RAM) صرف بارگذاری تصاویر بازی شده است. این مورد فقط در حالت WebGL موجود است. بیشترین مقدار مصرف حافظه در بازی به خاطر تصاویر است، امّا توجّه داشته‌باشید که مقداری که این‌جا نمایش داده می‌شود چیزهای دیگر را در نظر نمی‌گیرد، چیزهایی مثل مقدار حافظه‌ای که برای حوادث منطقی بازی استفاده می‌شود، و همین طور حافظه‌ای که به خاطر پخش موسیقی و افکت‌های صوتی بازی اشغال می‌شود. این مقدار معادل اکسپرشن سیستمی ImageMemoryUsage است.

رندر کننده (مثلاً webgl): به ما می‌گوید که بازی در حال رندر شدن در حالت canvas2d است یا webgl. حالت Webgl سریع‌تر است و از افکت‌ها نیز پشتیبانی می‌کند. این مقدار معادل اکسپرشن سیستمی renderer است.

جزئیّاتی بیشتر در مورد عملکرد بازی در قسمت Performance در سربرگ inspect نمایش داده می‌شوند، که به طور پیش‌فرض از این قرارند:

Collision checks/sec (مثلاً 1144 (~22)): نشان می‌دهد که در ثانیه‌ی آخر، انجین باید چند برخورد را بین دو شیء بررسی کند. بررسی‌های برخورد برای کندیشن‌های On collision و Is overlapping اسپرایت‌ها انجام می‌شود. البتّه تعداد زیادی از رفتارها نیز به صورت خودکار بررسی‌هایی برای برخورد انجام می‌دهند. داخل پرانتز، میانگین بررسی‌های برخورد در هر تیک نیز نشان داده می‌شود. برای مثال اگر در ثانیه‌ی آخر 600 بررسی برای برخورد انجام شود، و نرخ فریم بازی باشد، به طور میانگین در هر تیک ۱۰ بررسی برای برخورد انجام می‌شود. این به شما می‌گوید در هر فریم بازی حدود ۱۰ بررسی برای برخورد اشیاء انجام می‌شود، البته مقدار واقعی معمولاً در هر فریم با فریم دیگر فرق می‌کند.

Poly checks/sec (مثلاً 60 (~1/tick)): اکثر بررسی‌های برخورد بسیار سریع انجام می‌شود، و انجین می‌تواند به سادگی بگوید که اشیاء درحال برخورد نیستند (با اطمینان از این‌که bounding box هایشان هم‌پوشانی ندارند). امّا اگر bounding box های آن‌ها هم‌پوشانی داشته باشد، بررسی برخورد سخت‌تر می‌شود، انجین باید بررسی کند که آیا collision polygon های آن‌ها نیز به هم برخورد داشته‌اند یا نه. این مقدار می‌گوید که در ثانیه‌ی آخر چند بررسی برخورد از این نوع انجام می‌شود، مثل قبل (در Collision checks/sec) میانگین این نوع بررسی‌ها در هر تیک نیز نمایش داده می‌شود. معمولاً مقدار Poly checks/sec عددی کوچکتر است، امّا اگر این مقدار بالا برود، امکان مشکل در عملکرد بازی وجود دارد.


سربرگ Inspect :

دیباگر دارای سه سربرگ است: سربرگ Inspect، Watch، و Profile. سربرگ Inspect برای مشاهده و ویرایش مقادیر به کار می‌رود.

نمای Inspect به دو بخش تقسیم می‌شود: در سمت چپ لیستی از تمام آبجکت‌تایپ‌های پروژه نمایش داده می‌شود، که شامل شیء System نیز می‌شود، و در سمت راست جدول‌هایی قرار دارند که مقادیر مربوط به شیء انتخاب شده را نمایش می‌دهند، مثل کاری نوار ویژگی‌ها می‌کند.


لیست اشیاء:

روی یک آبجکت‌تایپ کلیک کنید تا زیرمجموعه‌های آن دیده شود. تعداد اینستنس‌های هر آبجکت‌تایپ بعد از نام آن داخل پرانتز نمایش داده می‌شود. اگر آبجکت‌تایپ فقط یک اینستنس داشته باشد، یا شیئی سراسری باشد مثل شیء System یا شیء Audio، به سرعت شروع به بررسی شیء می‌کند. در غیر این‌صورت لیستی از تمام اینستنس‌های شیء را با توجّه به شناسه‌ی شاخص‌شان (IID) نشان می‌دهد با کلیک روی اینستنسی خاص فقط همان اینستنس بررسی می‌شود.

نمای مقادیر:

مثل نوار ویژگی‌ها، نمای مقادیر جدول‌هایی دسته‌بندی شده را نمایش می‌دهد که همه‌ی اطّلاعات مربوط به شیء مورد بررسی قرار گرفته را در بر دارند. مقادیری که نمایش داده می‌شوند به شیئی بستگی دارند که مورد بررسی قرار گرفته‌است؛ برای مثال شیء اسپرایت اطّلاعاتی را در مورد فریم انیمیشن، شیء Audio اطّلاعاتی را در مورد موسیقی یا صدایی که در حال حاضر دارد پخش می‌شود، و شیء سیستم اطّلاعاتی را در مورد انجین، لیوت و لایه‌ها به ما می‌دهد. اکثر این مقادیر در نوار ویژگی‌ها و همچنین در اکسپرشن‌های اشیاء نیز قابل تنظیم هستند.

متغیّرهای اینستنس و مقادیر مربوط به رفتارها نیز اگر شیئی آن‌ها را داشته‌باشد نمایش داده می‌شوند.

معمولاً مشاهده‌ی این مقادیر در هنگام اجرای بازی می‌تواند مفید واقع شود. با این حال این مقادیر قابل ویرایش نیز هستند. مثل نوار ویژگی‌ها، روی یک مقدار کلیک کنید و یک مقدار جدید تایپ کنید تا تغییرش دهید. مقادیری که تغییر کرده‌اند به حالت درشت (Bold) نمایش داده می‌شوند. همه‌ی مقادیر قابل ویرایش نیستند، آن‌هایی که پس‌زمینه‌ی خاکستری کم‌رنگ دارند فقط خواندنی هستند. این می‌تواند روشی عالی برای امتحان نحوه‌ی کار پروژه باشد.

آیکون چشم که در سمت راست مقدارها قرار دارد می‌تواند برای اضافه کردن آن مقدار به سربرگ Watch استفاده شود. این موضوع کمی بعد به صورت مفصّل مورد بررسی قرار گرفته‌است.

قسمت Tools به شما این توانایی را می‌دهد که شیء مورد بررسی را نابود کنید. به طور پیش‌فرض در بازی، دور شیء مورد بررسی مستطیلی قرمز دیده می‌شود. اگر این کار حواس شما را پرت می‌کند، تیک Highlight را بر دارید.

اشیائی که در کانتینر قرار گرفته‌اند لیستی از پیوندهایی را آماده می‌کنند تا سایر اینستنس‌هایی را که با شیء مورد نظر در کانتینر قرار دارند مورد بررسی قرار دهید.

سربرگ Watch :

سربرگ inspect به شما اجازه می‌دهد تا در یک لحظه مقادیر مربوط به فقط یک شیء را مشاهده کنید، و معمولاً شامل اطّلاعات بسیار زیادی می‌شود، که شاید به دانستن بیشتر آن‌ها علاقه‌ای نداشته باشید. با کلیک بر روی آیکون چشم در کنار مقدارهای سربرگ Inspect، آن مقدار تنها به سربرگ Watch اضافه می‌شود. این کار به شما اجازه می‌دهد تا مقدارهای مختلف مربوط به اشیاء مختلف را در یک فضا کنار هم ببینید، همچنین تعداد مقادیری که نمایش داده می‌شوند را کاهش دهید تا فقط مقادیری را که دوست دارید ببینید.



در سربرگ Watch هم مثل سربرگ Inspect مقادیر قابل ویرایش هستند.

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

تیترهای دسته‌بندی مقدارها هم آیکون چشم یا ضربدر خودشان را دارا هستند. با کلیک روی آن‌ها می‌توانید کلّ آن قسمت را به نوار Watch اضافه کنید و یا حذف کنید.

سربرگ Profile :

سربرگ Profile با جزئیّات زیاد به صورت تفکیک‌شده به شما نشان می‌دهد که تقریباً چه قدر از CPU استفاده می‌شود. برای این‌که Profiler بتواند اطّلاعات را جمع‌آوری کند و نمایش دهد، بازی باید پیوسته در جریان باشد. Profiler به صورت دسته‌بندی‌شده نشان می‌دهد که هر قسمت از دستورات بازی چه قدر از CPU time استفاده می‌کنند. این اطّلاعات هر ثانیه یک بار به‌روزرسانی می‌شوند، پس مقادیری که در این سربرگ می‌بینید مربوط به یک ثانیه پیش هستند:



لازم به ذکر است که مقدار استفاده‌ی کلّی از CPU تقریبی نمایش داده می‌شود، بنابراین تمام مقادیر دیگر نیز تقریبی هستند. جزئیّاتی که Profiler نمایش می‌دهد فقط به فایل جاوااسکریپت اصلی بازی مربوط می‌شود، و ممکن است وظایفی دیگر در حال استفاده از CPU باشند، مثل پردازش صدا یا انجام محاسبات pathfinding. علاوه‌براین زمان رندرشدن بازی توسّط GPU نیز در Profiler اصلاً محاسبه نمی‌شود. سرعت رندر GPU به تنهایی می‌تواند نرخ فریم بازی را پایین بیاورد، ولی Profiler به طور مستقیم قادر به تشخیص آن نیست. به همین دلیل ممکن است با وجود پایین بودن مقدار استفاده از CPU ببینید که نرخ فریم بازی پایین است.

برخلاف اخطارهایی که دادیم، Profiler می‌تواند یکی از بهترین انتخاب‌ها برای تشخیص مشکلات بهینه‌سازی بازی باشد. توجّه داشته‌باشید که بهینه‌سازی در بسیاری از موارد لازم نیست و اگر بازی‌تان به اندازه‌ی کافی سریع است این کار فقط وقت تلف کردن است.


دسته بندی Profiler

Profiler جدول‌هایی تودرتو را نشان می‌دهد که نشان می‌دهد هر قسمت از موتور از جمله هرکدام از ایونت‌گروپ‌ها، چه‌قدر از CPU time را مصرف می‌کند. مواردی که معمولاً بیشترین مصرف CPU را دارند و اصطلاحاً top-level نامیده می‌شوند عبارتند از:

Events: این دسته‌بندی نشان می‌دهد که چه‌قدر از CPU time صرف اجرای دستورات ایونت‌شیت‌های مورد استفاده‌ی لیوت فعلی می‌شود. این دسته‌بندی در مرحله‌ی اوّل به چند دسته تقسیم می‌شود که هرکدام یکی از ایونت‌شیت‌ها را نمایش می‌دهد (در مواردی که از includeها استفاده می‌کنید)، سپس خود ایوت‌شیت‌ها به ایونت‌گروپ‌ها و ایونت‌گروپ‌های تودرتو تقسیم می‌شوند. این تقسیم‌بندی می‌تواند به شما کمک کند تا بفهمید کدام ایونت‌ها بیشترین مصرف CPU را دارند تا بدانید کجا را باید بهینه‌سازی کنید.

Physics simulation: این دسته‌بندی نشان می‌دهد که چه‌قدر از CPU time صرف پردازش رفتار Physics می‌شود. شبیه‌سازی‌های فیزیکی می‌توانند به شدّت از CPU کار بکشند. اگر این مقدار زیاد بود، اشیاء فیزیکی کمتری را در بازی درنظر بگیرید.

Draw calls: چه‌قدر طول می‌کشد تا CPU فرمان رندرشدن را بفرستد، این مقدار شامل زمانی که GPU آن را کامل می‌کند نمی‌شود. در بعضی مواقع، فرمان رندرشدن می‌تواند به شدّت از CPU کار بکشد، مخصوصاً وقتی اشیاء بسیار زیادی روی صفحه‌ی نمایش قرار داشته‌باشد. بعضی مرورگرها نیز همه‌ی فرامین رندرشدن را به جلو می‌فرستند تا به صورت موازی پردازش شوند، در این موارد احتمال اشتباه بودن این مقدار وجود خواهد داشت.

Engine: بقیّه‌ی زمانی که در موتور کانستراکت 2، با کم‌کردن زمان ایونت‌ها، فیزیک و فرامین رندرشدن صرف می‌شود. این زمان شامل پردازش رفتارها و سایر موارد داخلی موتور می‌شود.

Breakpoint ها:

وقتی دیباگر را اجرا می‌کنید، می‌توانید روی یک ایونت، کاندیشن یا اکشن خاص Breakpoint قرار دهید، تا به محض رسیدن به آن نقطه، بازی متوقّف شود.


مترجم:وبسایت تخصصی si2

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

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

میانبر های کیبورد (Keyboard Shortcuts):

برای دسترسی سریع به بعضی از امکانات پیشنهاد می شود که از میابنر های کیبورد استفاده کنید:

  • Hold : نگه داشتن
  • Num Pad : کلید های اعداد شمارشی
  • or : یا
  • Arrow keys : کلید های چهار جهت <^>

عمومی (General):

قابل استفاده در تمام بخش ها است که شامل:
Ctrl + X : کات کردن
Ctrl + C : کپی کردن
Ctrl + V : چسباندن
Ctrl + Drag with mouse left button : کپی گرفتن از یک شئ یا رویداد یا...

Ctrl + Z : بازگشت به تغییر حالت قبلی
Ctrl + Y : رفتن به تغییر جلویی

Ctrl + A : انتخاب همه

Ctrl + N : ایجاد پروژه جدید
Ctrl + O : باز کردن پروژه های داخل سیستم
Ctrl + S : ذخیره پروژه

Alt + F4 : بستن برنامه

با زدن کلید Alt میانبر های روبان (ribbon) را مشاهده می کنید و برای باز و بسته کردن روبان از M استفاده کنید.

F4 : پیش نمایش و تست بازی از لایوت فعلی
Ctrl + F4 : تست با اشکال زدایی (Debug) از لایوت فعلی
F5 : پیش نمایش بازی و تست بازی از اولین لایوت
Ctrl + F5 : تست و اشکال زدایی از اولین لایوت
F6 : خروجی گرفتن از پروژه (export)

+Ctrl + Mouse Wheel Up or Num pad  : زوم کردن و بزرگنمایی
-Ctrl + Mouse Wheel Down or Num pad: زوم کردن و کوچکنمایی
نگه داشتن کلید shift در میزان بززگنمایی تاثیر می گذارد.

Ctrl + 0 : بازگشت از حالت زوم به حالت اولیه 100%

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

Delete : حذف کردن یک آیتم (منظور از آیتم هر چیزی که قابل انتخاب شدن است )
F2 : تغییر نام یک آیتم

Ctrl + click : انتخاب کردن دسته جمعی آیتم
Shift + click : برگردانند آخرین آیتم های انتخاب شده

Escape : برداشتن و لغو انتخاب شده های آیتم

Ctrl + Tab : جابجا شدن بین دو صفحه لایوت و رویداد نویسی


محیط لایوت (Layout view):

این میانبر ها فقط در لایوت کار می کنند برای آشنایی با محیط لایوت (layout) اینجا را مطالعه کنید:

Ctrl + E یا Shift + Tab : رفتن از لایوت به صفحه رویداد نویسی (Event sheet)

Arrow keys : استفاده از کلید های جها <^> در جابجایی یک آیتم به اندازه 1پیکسل

Hold shift : انتخاب آیتم بصورت تک تک.
Hold tab یا click a selected object : جابجا کردن شئ روی هم یا زیر هم در یک لایه (z order)
Hold alt while moving selection : در حالت کاشی (grid) شدن لایوت می توانید با نگه داشتن این کلید اشیاء را هر مکان که دوست دارید جابجا کنید.
Hold control while resizing selection : با نگه داشتن این کلید می توانید بطور دقیق و در یک راستا شئ را بزرگ یا کوچک کنید.

Ctrl + D : لغو آیتم های انتخاب شده

در پنجره کاشی ها (Tilemap):
1 : لغو و برداشتن ایجاد کاشی در لایوت
2 ایجاد کاشی در لایوت
3 ایجاد کاشی و بزرگنمایی از مرکز در لایوت
4 پاک کردن کاشی های لایوت
X : بزرگ کردن کاشی
Y : عوض شدن کاشی در محور X
Z : چرخش کاشی در 4 جهت

Shift + right click : جابجا کردن شئ کاشی در لایوت


رویداد نویسی (Event Sheet View):
این میانبر ها فقط در رویداد نویسی کار می کنند برای آشنایی با محیط رویداد نویسی (Event sheet) اینجا را مطالعه کنید:

Ctrl + L یا Shift + Tab : رفتن از صفحه رویدادنویسی به لایوت و جابجایی این دو صفحه

Ctrl + F : رفتن به تب Event در روبان (ribbon)

Ctrl + F2 : نشانگر کردن یک بلوک اونت

F3 : نشانگر گذاشتن جزئی
F8 : اسکرین شات گرفتن از بلوک اونت

در پنجره رویداد نویسی یا وظیفه:
Alt + Left : بازگشت به صفحه قبل یا لغو
Alt + Righ : جلو رفتن صفحه یا تایید

Up arrow key and Down arrow key : جابجا شدن بین اشیاء داخل پنجره
Left arrow key and Right arrow key : جابجا شدن بین اشیاء داخل پنجره

Enter : تایید کردن یا انتخاب شئ

Escape : بستن پنجره دیالوگ

وقتی روی یک رویداد (event) کلیک کنید می توانیم:

A : اضافه کردن یک وظیفه (Action) دیگر به آن
B : اضافه کردن یک شرط خالی (blank subevent) به آن
C : اضافه کردن یک رویداد دیگر (condition) به آن
D : فعال یا غیر فعال کردن (items disabled) یک رویداد
+E or Num pad : اضافه کردن یک رویداد دیگر به رویداد بالای آن
-Shift + E or Num pad : اضافه کردن رویداد دیگر به رویداد پایین آن
G : اضافه کردن یک گروه (group) جدید
I : چپه کردن یک رویداد (Invert selected)
N : اضافه کردن یک صفحه رویداد نویسی دیگر به این صفحه (include)
R : تغییر شئ (Replace object) بصورت مستقیم
Q : اضافه کردن توضیحات به رویداد (comment)
S : اضافه کردن شرط (subevent) به رویداد
V : اضافه کردن متغیر (variable)
X : اضافه کردن "در غیر اینصورت" (Else)

Y : اضافه کردن "یا" بین چند رویداد (or)


پنجره پارامتر (Parameters dialog):

وقتی پنجره پارامتر در رویداد نویسی باز است می توانید:

F4 : نمایش یا بستن پنل دستورات

Tab : جابجا شدن بین قسمت های مختلف پنجره پارامتر
Shift + Tab : جابجا شدن قسمت های مختلف بجز نوشته راهنما که به رنگ آبی است.
Escape : لغو کردن و بستن پنجره
Enter : تایید 


تصویر و انیمیشن (Image and Animations editor):

وقتی داخل ویرایشگر تصویر هستید می توانید:

مشخص کردن یک نقطه (image points) در تصویر:
Num pad 1 or End : پایین چپ تصویر
Num pad 2 : پایین مرکز تصویر
Num pad 3 or Page down : پایین راست تصویر
Num pad 4 : چپ مرکز تصویر
Num pad 5 : مرکز تصویر
Num pad 6 : راست مرکز تصویر
Num pad 7 or Home : بالای چپ تصویر
Num pad 8 : بالای مرکز تصویر
Num pad 9 or Page up : بالای راست تصویر
Arrow keys : استفاده از جهت های کیبورد برای جابجایی 1 پیکسل نقطه در تصویر
نگه داشتن کلید shift کیبورد و انتخاب نقطه در تصویر باعث می شود تا آن نقطه برای تمام فریم های یک انیمیشن اعمال شود.

Shift + Crop button : پاک کردن فضای خالی همه ی فریم ها یا تصاویر یک انیمیشن (transparent)
Shift + Mirror button :برای جابجا کردن همه ی فریم ها یا تصاویر یک انیمیشن در محور X
Shift + Rotate Clockwise button : چرخش همه ی فریم ها یا تصاویر یک انیمیشن به سمت عقربه ساعت
Shift + Rotate Anticlockwise button : چرخش همه ی فریم ها یا تصاویر یک انیمیشن به مخالف عقربه ساعت

پنجره لیست انیمیشن ها:
- Ctrl + Left or : رفتن به فریم بعدی انیمیشن
+ Ctrl + Right or : رفتن به فریم قبلی انیمیشن
P : نمایش و اجرا انیمیشن

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

پنجره تنظیمات در کانستراکت

پنجره تنظیمات (Preferences dialog):

برای دسترسی به این پنجره تنظیمات می توانید از نوار File گزینه Preferences را انتخاب کنید تا پنجره ای که شامل 6 قسمت مختلف است برای شما باز شود :

  1. عمومی (General)
  2. نمایش (preview)
  3. ذخیره خودکار (Autosave)
  4. پشتیبان گیری (Backup)
  5. متفرقه (Misc)
  6. رنگ بندی محیط (Colors)

شما پس از تغییر هر کدام باید برنامه کانستراکت2 خود را بسته و دوباره باز کنید تا تغییرات اعمال شوند.

عمومی (General):

این پنجره شامل تنظیمات محیط کانستراکت2 است که مانند تصویر زیر:



Resize handle size : تغییر اندازه (resize) آیکون های شئ انتخاب شده و کلید ها در لایوت (Layout View) است که در حالت عادی کوچک (small) است.
Event sheet font : تغییر و شخصی سازی فونت صفحه رویداد نویسی (Event sheet).
Show start page on startup : فعال یا غیر فعال کردن نمایش پنجره شروع (Start Page) که در حالت پیشفرض فعال است.

Close the start page when I click on something : در صورت فعال بودن وقتی شما در پنجره شروع (Start Page) یک پروژه جدید میسازید این پنجره بطور خودکار بسته می شود در غیر اینصورت این پنجره در یک صفحه یا تب باز می ماند.

Update checking : شامل سه گزینه هست چون ما از لایسنس (کرک) استفاده می کنیم آن را همیشه در حالت Don't for updates می گذاریم چون اگر روشن باشد ممکن است لایسنس ما را شناسایی کند و آن را غیر فعال کند.

Reset dialogs : اگر شما اندازه پنجره ها و جابجا کردن مکان پیشفرض پنحره ها (شخصی سازی) را انجام داده اید می توانید با انتخاب این گزینه همه ی آن ها را به حالت اولیه برکردانید.


نمایش (preview) :

این پنجره شامل تنظیمات پیش نمایش بازی و محل ذخیره خروجی ها و محلی کردن پیش نمایش در کانستراکت2 است که مانند تصویر زیر :



Default preview browser : مشخص کردن مرورگر پیشفرض برای تست بازی که سعی کنید از Nw.js استفاده کنید برای اطلاعات بیشتر در مورد آن اینجا را مطالعه کنید.

Custom browser : سفارشی کردن و انتخاب مسیر مرورگر خود که اگر شما از برنامه Nw.js استفاده می کنید باید مسیر اجرا برنامه را به آن معرفی کنید مانند تصویر بالا.

Default export folder : مشخص کردن محل پیشفرض برای خروجی گرفتن پروژه از کانستراکت2 و ذخیره شدن آن در آن مسیر.

HTTP server port : در حالت پیشفرض پورت آن 50000 است که سعی کنید آن را اصلا تغییر ندهید مگر اینکه پورت دیگری داشته باشید.

Preview on LAN address : آی دی دستگاه مودم خود را این قسمت انتخاب می کنید تا با شبکه کردن گوشی خود از طریق کابل یا وایفا بازی را بطور خودکار در مرورگر گوشی خود تست شود که آموزش آن را در آینده می گذاریم.


ذخیره خودکار (Autosave):

در این قسمت از تنظیمات روش ذخیره خودکار را تنظیم می کنید:



Enable autosave : اگر فعال باشد در زمان مشخص , پروژه شما را بطور خودکار ذخیره می شود که همراه با یک فایل با اسم capx.autosave است که اگر پروژه شما مشکلی داشت می توانید این فایل را تغییر نام داده و عبارت autosave. را از آخر آن پاک کنید تا یک فایل شما یک سورس (capx.) شود.برای اطلاعات بیشتر اینجا را مطالعه کنید.
Autosave frequency : می توانید زمان ذخیره شدن خودکار پروژه را مشخص کنید که در حالت پیشفرض 20 دقیقه یکبار است.


پشتیبان گیری (Backup):

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



Auto-backup : اگر فعال باشید موقع ذخیره کردن پروژه خود , یک فایل تکی نیز با اسم capx.backup کنار آن می سازد تا در صورت نیاز با تغییر اسم آن و حذف کلمه
backup یک سورس با capx. فرمت دارید که می توانید از آن استفاده کنید برای اطلاعات بیشتر در مورد آن اینجا را مطالعه کنید.اگر چند تا backup داشته باشید به انتهای آن یک شماره اضافه می شود تا جایگزین یکدیگر نشوند.
Backup folders : شما می توانید سه مسیر در سیستم خود مشخص کنید تا موقع ذخیره کردن پروژه , backup ها را در این مسیر ها ذخیره و نگه دارد تا در صورت لزوم به آن ها دسترسی پیدا کنید.


متفرقه (Misc):

در این قسمت هم بعضی از تنظیمات در دسترسی است که:



Help links : در هر قسمت برنامه راهنما (help) وجود دارد و شما می توانید در اینجا قسمت مشخص کنید که از راهنمای آفلاین استفاده کند (offline manual) یا که از راهنمای آنلاین (online manual) که در حالت عادی روی خودکار (Auto-detect) است که پیشنهاد می شود رو حالت خودکار بماند.

External image editor : این گزینه در ویرایشگر تصویر (editor) وجود دارد که می توانید بطور مستقیم از برنامه کانستراکت2 به یک برنامه ویرایشگر دیگر مثل فتوشاپ یا ... وصل بشوید که برای آشنایی با این گزینه اینجا را مطالعه کنید.

Cache icons in editor : در پروژه های بسیار بزرگ , کش (cache) آمدین آیکون ها ممکن است از حالت اجرا عادی برنامه بیرون آید و بر روی حافظه سیستم اجرا شود (Windows to run out of memory).غیر فعال کردن این گزینه به شما اجازه میدهد که به ادامه ی کار بپردازید ولی با سرعت عملکرد ضعیف.


رنگ بندی محیط (Colors):

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



شما ابتدا یک تم پیشفرض از داخل تم ها (choose theme) انتخاب می کنید سپس گزینه بارگزاری آن را (Load selected them) میزنید تا اعمال شود که شما می توانید آن را ویرایش و ذخیره (با فرمت XML) کنید.

Edit colors : اجازه تفییر رنگ های قسمت های مختلف تم برنامه خود را میدهد.

Save as new theme :

تغییراتی که بر روی تم خود ایجاد کردید را می توانید ذخیره کنید.


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

پنجره شروع ایجاد پروژه

پنجره شروع ایجاد پروژه (Start dialog ):

وقتی شما می خواهید یک پروژه جدید بسازید با استفاده از نوار File بعد از انتخاب New یا با استفاده از کلید های ترکیبی Ctrl+N این پنجره باز می شود که شامل قالب های (منظور صفحه نمایش های مختلف) آماده است به همراه مثال های آماده (example) برای یادگیری:



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

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


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

پنجره پارامتر ها در رویداد نویسی

پنجره پارامتر ها (Parameters dialog):

پنجره پارامتر ها زمانی ظاهر می شوند که در صفحه رویداد نویسی (Event sheet) در حال ایجاد یا ویرایش یک رویداد (condition) یا وظیفه (action) هستید.این پنجره معمولا از شما یک مقدار می خواهد مثلا وظیفه Set Position برای مختصات مکان , مقدار X و Y را از شما می خواهد و ممکن است حتی یک رویداد یا وظیفه پنجره پارامتر نداشته باشند مثل رویداد Every tick .

وارد کردن مقدار در این پنجره به دو صورت است :

  1. عددی = شامل نمام اعداد می شود.
  2. دستوری = شامل تمام دستورات که مثل برنامه نویسی هستند است (ساده هستند و اصلا نمیشه گفت برنامه نویسی).

در تصویر زیر یک نمونه از پنجره پارامتر را مشاهده می کنید که مقدار پیشفرض آن 0 است:



برای نوشتن دستورات در پارامتر می توانید بصورت مستقیم تایپ کنید یا با استفاده از پنجره پنل دستورات (Expressions) از عبارات داخل آن استفاده کنید که در مورد آن قبلا در اینجا توضیح داده بودیم.

برای نوشتن مستقیم دستور , ابتدا کلمه ی اول آن دستور را می نویسید تا لیستی از دستورات که با آن حروف شروع می شوند را نشان دهد سپس می توانید دستور خود را انتخاب کنید اما برای استفاده از دستورات داخل یک شئ باید ابتدا اسم آن شئ را نوشته سپس با گذاشتن نقطه (.) , لیستی از دستوراتی که زیر مجموعه آن شئ هستند باز می شوند مثلا sprite.Angle .

همچنین وقتی شما یک رفتار (behavior) به شئ خود اضافه می کنید لیستی از دستوران آن رفتار نیز به لیست دستورات شئ مورد نظر اضافه می شود مثلا اگر به شئ مورد نظر رفتار حرکت در 8جهت (8Direction) داده باشید باید ابتدا اسم شئ را نوشته سپس با گذاشتن نقطه (.) , لیستی از دستورات که زیر مجموعه آن شئ هستند یه همراه دستوران رفتار ها باز می شوند مثلا Sprite.8Direction .

یک نمونه از  نمایش لیست دستورات را مشاهده می کنید:



شما بعد از اینکه اسم شئ را نوشتید و نقطه را گذاشتید همان لحظه یک لیست مثل بالا برای شما باز می شود که شامل دستورات زیر مجموعه آن شئ است که می توانید برای دیدن کامل آن با لاستیک ماوس به بالا و پایین حرکت کنید یا از کلید های بالا (Up) و پایین (Down) کیبورد استفاده کنید.

وقتی یک دستور را انتخاب می کنید مثلا دستور Clamp یک توضیح مختصری در مورد آن دستور و شیوه استفاده از آن را در یک پنجره کوچک نشان میدهد مانند تصویر زیر:



بعد از اینکه دستور را نوشتید می توانید سریع با زدن کلید Enter آن را Done کنید یا با استفاده از کلید Done در پنجره بالا. البته می توانید با زدن کلید Tab بین قسمت های مختلف کادر مثل کلید ها و دستوران و نوشته راهنما جابجا شوید (اگر می خواهید بین نوشته راهنما جابجا نشوید کلید shift نیز نگه دارید سپس کلید Tab را بزنید).


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