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

کاندیشن Every tick اضافی

طبق اصول فنّی، کاندیشن Every tick فقط به معنی ‘true’ (درست) است. روش اجرای ایونت‌ها به این‌گونه است که فقط وقتی اکشن‌هایشان را اجرا می‌کنند که ‘true’ باشند. بنابراین، افزودن Every tick به هر ایونتی که دارای کاندیشن دیگری است هیچ تأثیری ندارد. در ایونت زیر کاندیشن Every tick زاید است:

کاندیشن Everytick اضافی

بهتر است به گونه‌ای از ایونت‌ها استفاده کنیم که در حدّ امکان خلاصه باشد، پس باید این کاندیشن حذف شود:

کاندیشن Every tick حذف شده

این ایونت دقیقاً مثل ایونت قبلی عمل می‌کند، و از آن ساده‌تر است.

دلیل نام‌گذاری این کاندیشن به Every tick این است که دستورات ایونت شیت در هر تیک (زمان نمایش یک فریم، که معمولاً یک شصتم ثانیه است) یک بار بررسی می‌شوند. ایونتی که فقط شامل یک کاندیشن Every tick باشد، به خودی خود در هر تیک اجرا می‌شود، پس این نام‌گذاری دقیق است و به ما می‌گوید این کاندیشن برای چه کاری است. امّا اگر مثل مثال اوّل بی‌خودی از آن استفاده کنیم ممکن است کمی گمراه‌کننده شود، زیرا قطعاً اکشن‌ها در هر تیک یک‌بار اجرا نمی‌شوند!

ایونتی که هیچ کاندیشنی نداشته‌باشد نیز در هر تیک اجرا می‌شود، امّا این برای یک تازه‌کار کمی مبهم است، به همین دلیل توصیه می‌کنیم از کاندیشن Every tick استفاده کنید، مگر این‌که بخواهید در قالب ساب‌ایونت اکشن‌هایی را بعد از یک ساب‌ایونت دیگر اجرا کنید، در این مورد یک ایونت بدون کاندیشن مناسب‌تر است. مثال زیر این مورد را نشان می‌دهد: در این‌جا از ایونتی بدون کاندیشن استفاده کردیم، زیرا اکشن Go to Layout 1 باید بعد از بررسی کردن تعداد پلیرها اجرا شود. این کار باعث می‌شود فکر نکنیم این ایونت باید در هر تیک اجرا شود.

استفاده از ایونت خالی

سؤالات فنی خود را فقط در انجمن بپرسید. در غیر این صورت پاسخ داده نخواهد شد.
۴ نظر

افزودن دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

تمامی حقوق برای مرجع تخصصی کانستراکت محفوظ است.