افزونههای اسکرچ: ابزارهایی برای برنامهسازی پیشرفتهتر
افزونه چیست و چه تفاوتی با بلوکهای معمولی دارد؟
اسکرچ (Scratch) در حالت پیشفرض دارای ده دسته بلوک اصلی مانند «حرکت»، «ظاهر»، «صدا» و «رویدادها» است. اما گاهی میخواهیم برنامهای بنویسیم که مثلاً خطوط منحنی رسم کند یا به دوربین وبکم واکنش نشان دهد. اینجا نقش افزونهها (Extensions) ظاهر میشود. افزونه مجموعهای از دستورهای اضافی است که پس از فعال شدن، مانند یک جعبه ابزار جدید در محیط اسکرچ ظاهر میشود. برای نمونه، افزونه «قلم» به شما امکان میدهد با حرکت کاراکتر روی صحنه، نقاشی بکشید؛ کاری که با بلوکهای عادی امکانپذیر نیست.
تفاوت اصلی میان بلوکهای عادی و افزونهها در منشأ و کاربرد آنهاست. بلوکهای عادی همیشه در دسترس هستند و بیشتر به کنترل کاراکترها میپردازند. اما افزونهها از سوی تیم اسکرچ یا برنامهنویسان دیگر ساخته میشوند و قابلیتهایی مانند تشخیص صدا، خواندن متن با صدای بلند، یا حتی کنترل رباتهای فیزیکی را اضافه میکنند. به عبارت دیگر، افزونهها مرزهای امکانات اسکرچ را جابهجا میکنند.
انواع افزونههای پرکاربرد و ویژگیهای هر کدام
برخی افزونهها در خود اسکرچ تعبیه شدهاند و برخی توسط کاربران حرفهای ساخته میشوند. در جدول زیر چند افزونه مهم و کاربرد آنها را مقایسه میکنیم.
| نام افزونه | دسته دستورات جدید | مثال کاربردی | سطح دشواری |
|---|---|---|---|
| قلم | نقاشی و ترسیم اشکال هندسی | رسم دایره با تکرار حرکت و چرخش | ساده |
| حسگر ویدیو | دریافت حرکت از دوربین | بازیای که با تکان دادن دست کنترل میشود | متوسط |
| تبدیل متن به گفتار | گفتن متن با صداهای مختلف | ساخت قصهگوی خودکار با لهجه انگلیسی یا فارسی | ساده |
| موسیقی | نواختن نتهای موسیقی و درام | ساخت یک پیانوی ساده با کلیدهای صفحهکلید | ساده |
آموزش گام به گام: استفاده از افزونه قلم برای رسم شکل هندسی
فرض کنید میخواهیم با افزونه قلم، یک ستاره پنجپر رسم کنیم. مراحل زیر را به ترتیب انجام دهید:
۱. وارد محیط اسکرچ شوید. روی دکمه «افزودن افزونه» در گوشه پایین سمت چپ کلیک کنید.
۲. افزونه «قلم» را انتخاب کنید. حالا دسته جدیدی به نام «قلم» در لیست بلوکها ظاهر میشود.
۳. کاراکتر (مثلاً گربه) را انتخاب کنید. بلوک «زمانی که پرچم سبز کلیک شد» را از دسته رویدادها بیاورید.
۴. بلوک «همهی نقشها را پاک کن» از افزونه قلم را به آن بچسبانید. سپس «خاموش کردن قلم» و بعد «قلم را پایین بیاور» را اضافه کنید.
۵. برای کشیدن ستاره، باید حرکت و چرخش را تکرار کنیم. از دسته «کنترل»، بلوک «تکرار (5) بار» را بیاورید. داخل آن به ترتیب قرار دهید: «حرکت (100) گام»، «چرخش (144) درجه» (زاویه داخلی ستاره پنجپر).
۶. اگر میخواهید خطوط رنگی داشته باشید، بلوک «رنگ قلم را (مقدار) تغییر بده» را قبل از بلوک تکرار قرار دهید.
کاربرد عملی: ساخت یک آزمایشگاه مجازی با افزونه حسگر ویدیو
فرض کنید میخواهید یک شبیهساز فیزیک بسازید که با حرکت دست کاربر، یک توپ را جابجا کند. افزونه «حسگر ویدیو» امکان تشخیص حرکت در تصویر دوربین را فراهم میکند. بلوک «حرکت ویدیو در (نقش) روی (کاراکتر)» مقدار حرکت را برمیگرداند. با قرار دادن این بلوک درون یک حلقه همیشه، میتوانیم موقعیت توپ را به سمت ناحیهای که حرکت بیشتری دارد، تغییر دهیم. چنین پروژهای به دانشآموزان کمک میکند مفهوم بازخورد (فیدبک) را در سیستمهای تعاملی درک کنند. به عنوان مثال، میتوانید یک بازی بسازید که در آن با تکان دادن دست، یک توپ را به سمت دروازه هدایت کنید. این نوع پروژهها نه تنها برنامهنویسی، بلکه مبانی حسگرها و تعامل انسان با رایانه را آموزش میدهند.
چالشهای مفهومی
بله، اسکرچ به شما اجازه میدهد هر تعداد افزونه رسمی که نیاز دارید فعال کنید. برای مثال میتوانید هم افزونه قلم و هم افزونه موسیقی را فعال کنید تا ضمن نقاشی، نت موسیقی هم پخش شود. اما توجه کنید که افزونههای غیررسمی ممکن است با یکدیگر تداخل داشته باشند.
برخی افزونهها مانند «حسگر ویدیو» یا «تبدیل متن به گفتار» به سختافزار یا سرویسهای آنلاین نیاز دارند. در نسخه آفلاین (مثل اسکرچ 1.4 یا برخی نسخههای قدیمی) ممکن است این افزونهها پشتیبانی نشوند. بهتر است از نسخه آنلاین یا اسکرچ 3.0 آفلاین استفاده کنید.
بله، این امکان از طریق افزونههای سفارشی (مانند اسکرچلینک⁴) وجود دارد. برخی ابزارهای واسط، بلوکهایی برای خواندن سنسورهای دما، نور یا کنترل موتورها فراهم میکنند. ساخت چنین افزونهای دانش پیشرفتهتری در جاوااسکریپت یا پایتون نیاز دارد.
پاورقیها
1اسکرچ (Scratch): زبان برنامهنویسی بصری و محیط توسعه مبتنی بر بلوک برای آموزش برنامهنویسی به کودکان و نوجوانان.
2افزونه (Extension): مجموعه کدهای اضافی که قابلیتهای تازه به نرمافزار اصلی میبخشد.
3حسگر ویدیو (Video Sensing): افزونهای که از تصویر دوربین برای تشخیص حرکت و شدت نور استفاده میکند.
4اسکرچلینک (Scratch Link): برنامه واسط برای اتصال اسکرچ به دستگاههای بیرونی مانند میکرو:بیت و لگو.