آموزشاسکرچبرنامه نویسیمیم تک 26نرم افزارنرم افزار کامپیوتر

آموزش اسکرچ (قسمت پنجم) : معرفی دستورات بلاک Control و بلاک Sensing

آموزش اسکرچ (قسمت پنجم) : معرفی دستورات بلاک Control و بلاک Sensing

با قسمت پنجم آموزش زبان برنامه نویسی اسکرچ و در خدمت شما هستم. در مقالات قبلی در دستورات بلاک های Motion ، Look ، Sound و Event آشنا شدیم. در این مقاله به معرفی دستورات بلاک های Control و Sensing می پردازیم.

بلاک های Control :

بلاک های Control که شامل اصلی ترین و مهمترین دستورات برنامه نویسی هستند همانطور که از نام آن پیداست برای کنترل اسپریت ها استفاده می شود و شامل ساختارهای شرطی، حلقه ها، ساختارهای تکرار و … است که می توانند کد شما را کارآمدتر کنند و ترکیب موثری با متغیرها و عملگرها داشته باشند. دستورات کنترلی به رنگ نارنجی و بعد از دستورات Event قرار گرفته اند.

Wait () seconds

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

Repeat ()

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

Forever

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

If () then

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

از این دستور بیشتر برای مقایسه مقادیر مختلف، چک کردن درست یا غلط بودن داده ای خاص و یا کنترل آبجکت ها استفاده می شود.

If () then else

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

Wait until()

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

Repeat until()

این حلقه که مانند حلقه While در سایر زبانهای برنامه نویسی عمل می کند تا زمانی که شرط برقرار و درست باشد دستور داخل حلقه را اجرا خواهد کرد و به محض اینکه شرط نقض گردد دیگر دستور اجرا نخواهد شد. برای مثال در شکل زیر زمانی که موقعیت X اسپریت از 10 بیشتر شود 10 قدم به جلو حرکت خواهد کرد.

Stop ()

برای متوقف کردن اسکریپت یا تمام اسکریپت های مربوط به یک اسپریت از این دستور استفاده نمایید.

Create clone of ()

یک نسخه جدید از همان اسپریت یا اسپریت دیگر ایجاد می کند.

When I start as a clone

برای ایجاد اسکریپت ها و دستورات بر روی نسخه کپی از این دستور استفاده می کنیم. شکل زیر پیغام Hello را به مدت 2 ثانیه در کنار گربه ی دوم نمایش می دهد.

Delete this clone

نسخه های کپی را به ترتیبی که ایجاد شده اند حذف می کند.

بلاک های Sensing :

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

Touching()

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

Touching color ()

این دستور از بلاک Sensing مانند دستور قبل برای تشخیص برخورد استفاده می شود. اما این دستور به صورت دقیق تری عمل کرده و این کار را به وسیله رنگ ها انجام می‌دهد. از این دستور اغلب در پلتفرم ها استفاده می شود.

Color() is touching ()

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

Distance to ()

این دستور از بلاک Sensing بسیار کاربردی موقعیت یک اسپریت را نسبت به ماوس یا اسپریت دیگری با واحد پیکسل نشان می دهد.

Ask () and wait

یک جعبه ی متن برای طرح یک پرسش ایجاد می کند.

Answer

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

Key () Pressed?

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

Mouse down

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

Mouse X,Mouse Y

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

() of ()

این دستور بلاک Sensing شامل گزینه های متعددی است که به وسیله آنها می توان موقعیت مکانی یک اسپریت، جهت حرکت، اندازه و … را نشان داد.

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

Current()

برای نمایش اطلاعاتی از قبیل تاریخ و ساعت از این گزینه که به صورت پیش فرض بر روی سال (Year)  تنظیم شده است، استفاده کنید.

Day since 2000

این گزینه جالب تعداد روزهایی که از سال 2000 گذشته است را به شما نمایش می دهد.

Username

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

در این مقاله به دستورات بلاک Control و Sensing در اسکرچ آشنا شدیم.

ادامه:

ارسال پاسخ