شکلک (Sprite) در اسکرچ: قلب برنامههای تعاملی
در این مقاله با مفهوم «شکلک»Sprite در محیط برنامهنویسی اسکرچ آشنا میشوید. شکلکها همان شخصیتها، اشیاء متحرک یا کاراکترهایی هستند که در پروژههای اسکرچ میسازیم. میآموزیم چگونه شکلکها را اضافه کنیم، ویژگیهایی مانند مکان، اندازه و جهت آنها را کنترل نماییم و با استفاده از دستورات مختلف، رفتارهای متنوعی به آنها بدهیم. همچنین با کاربرد عملی شکلکها در ساخت بازیها و انیمیشنهای ساده آشنا میشوید.
انواع شکلک و روشهای افزودن به پروژه
در اسکرچ، هر پروژه میتواند شامل یک یا چند شکلک باشد. شکلک پیشفرض برنامه، گربهٔ نارنجیرنگی است که نام آن Feline میباشد. اما شما میتوانید از کتابخانهٔ گستردهٔ اسکرچ، شکلکهای جدیدی انتخاب کنید یا حتی طرح دلخواه خود را با ابزارهای طراحی رسم کنید. روشهای اصلی افزودن شکلک عبارتند از:
- انتخاب از کتابخانه: با کلیک روی دکمهٔ «انتخاب شکلک از کتابخانه» میتوانید از میان صدها شخصیت آماده مانند انسانها، حیوانات، اشیاء و موجودات فانتزی یکی را برگزینید.
- نقاشی کردن: با ابزار «نقاشی شکلک جدید» وارد ویرایشگر نقاشی میشوید و میتوانید طرح دلخواه را رسم کنید.
- بارگذاری از رایانه: گزینهٔ «بارگذاری شکلک» امکان استفاده از تصاویر ذخیرهشده در رایانه را فراهم میکند (فرمتهای مجاز شامل png و svg).
- شکلک تصادفی: اسکرچ بهطور خودکار یک شکلک از کتابخانه انتخاب میکند که برای شروع سریع پروژه مناسب است.
ویژگیهای اصلی هر شکلک (مکان، جهت، اندازه و لباس)
هر شکلک در اسکرچ دارای تعدادی ویژگیAttribute است که میتوان آنها را تغییر داد:
| ویژگی | مقدار نمونه | توضیح |
|---|---|---|
| مکان (x , y) | (0,0) | مرکز صحنه (مختصات افقی و عمودی). محدودهٔ x از -240 تا 240 و y از -180 تا 180 |
| جهت | 90 درجه | زاویه بر حسب درجه (۰ به راست، ۹۰ به بالا) |
| اندازه | 100 درصد | اندازهٔ اصلی ۱۰۰٪ است، میتوان تا ۲۰۰٪ بزرگ یا تا ۵٪ کوچک کرد |
| لباس | قاب{{سخ}}اول | هر شکلک میتواند چندین لباس (Costume) داشته باشد که ظاهر آن را تغییر میدهد |
برای جابهجایی شکلک از بلوکهای برو به x: ( ) y: ( ) یا با استفاده از ماوس روی صحنه استفاده میکنیم. همچنین میتوانیم مسیر حرکت را با فرمول زیر توصیف کنیم.
$ x_{\text{جدید}} = x_{\text{قبلی}} + \Delta x $ و $ y_{\text{جدید}} = y_{\text{قبلی}} + \Delta y $
برنامهدهی رفتار شکلک با بلوکهای دستور
شکلکها به تنهایی کاری انجام نمیدهند؛ باید با استفاده از بلوکهای برنامهنویسی به آنها دستور دهیم. این دستورات در دستههای مختلفی مانند «حرکت»، «ظاهر»، «صدا» و «کنترل» قرار دارند. برای مثال برای حرکت یک شکلک به سمت راست مینویسیم: 10 قدم حرکت کن و آن را درون یک حلقهٔ برای همیشه قرار میدهیم تا پیوسته حرکت کند.
اگر شکلک به لبهٔ صحنه برسد، با بلوک اگر روی لبه، بچرخ جهت خود را ۱۸۰ درجه تغییر داده و بازمیگردد. این رفتار شبیه به برخورد یک توپ با دیوار است.
برای ارتباط بین دو شکلک (مثلاً برخورد گربه و موش) از بلوکهای شرطی مانند اگر ........ آنگاه و حسگر لمس ..... میشود؟ استفاده میکنیم. در آن صورت میتوانیم برای شکلک موش بلوک پنهان شو یا یک صدا پخش کن را اجرا کنیم.
ساخت یک بازی ساده با دو شکلک (گربه و توپ)
فرض کنید میخواهیم بازیای بسازیم که در آن شکلک گربه باید توپ را لمس کند و هر بار یک امتیاز بگیرد. مراحل:
- یک شکلک گربه از کتابخانه انتخاب کنید. یک شکلک توپ (دایرهٔ قرمز) بکشید یا از کتابخانه بردارید.
- برای گربه، از بلوکهای صفحهکلید استفاده کنید تا با کلیدهای جهتنما حرکت کند.
- برای توپ، یک حرکت تصادفی با بلوک «به سمت (تصادفی) برو» تعریف کنید.
- در کد گربه، همیشه چک کنید: اگر توپ را لمس کردی، متغیر امتیاز را ۱ واحد افزایش بده، توپ را به نقطهٔ تصادفی ببر و یک صدا پخش کن.
$ \text{امتیاز}_{\text{جدید}} = \text{امتیاز}_{\text{قبلی}} + 1 $
چالشهای مفهومی در کار با شکلکها
۱. چرا گاهی شکلک به جای چرخیدن، وارونه میشود؟
این اتفاق به دلیل تنظیمات سبک چرخش رخ میدهد. اسکرچ سه حالت دارد: چرخش کامل، چرخش چپ-راست و عدم چرخش. اگر حالت «تمامجهت» انتخاب شده باشد و شکلک زاویهٔ ۱۸۰- بگیرد، وارونه دیده میشود. برای رفع، حالت چرخش را به «چپ-راست» تغییر دهید.
۲. چگونه میتوان دو شکلک را طوری برنامهدهی کرد که با هم حرف بزنند؟
از بلوکهای گفتن (متن) به مدت (زمان) استفاده کنید. برای هماهنگی، شکلک اول پیام خود را بگوید، سپس با بلوک پخش پیام همگانی و منتظر بمان به شکلک دوم علامت بدهد تا پاسخ دهد. این روش پایهٔ ساخت انیمیشنهای دیالوگدار است.
۳. چه تفاوتی بین یک شکلک و پسزمینه (صحنه) وجود دارد؟
صحنهStage پسزمینهٔ پروژه است که میتواند لباس داشته باشد و صدا پخش کند، اما هرگز حرکت فیزیکی (مانند تغییر مکان و جهت) ندارد. شکلکها اشیاء متحرک روی صحنه هستند. همچنین صحنه فقط یکبار اجرا میشود در حالی که میتوان چندین شکلک مستقل داشت.
نکات پایانی
شکلکها ارکان اصلی ساخت بازی، داستانهای تعاملی و انیمیشن در اسکرچ هستند. با تسلط بر ویژگیهای مکان، جهت، اندازه و لباس هر شکلک و ترکیب آن با ساختارهای کنترلی مانند حلقهها و شرطها، پروژههای جذابی خلق خواهید کرد. پیشنهاد میشود پروژههایی با ۳ تا ۵ شکلک بسازید تا تعامل پیچیدهتری را تجربه کنید.
پاورقیها
[1] شکلک (Sprite): به هر شیء یا شخصیت متحرک در محیط اسکرچ گفته میشود که میتواند کدهای جداگانهای داشته باشد. معادل انگلیسی آن Sprite است.
[2] لباس (Costume): یکی از ظاهرهای یک شکلک است. با تغییر لباس میتوان انیمیشن حرکت یا حالات چهره را ایجاد کرد. معادل انگلیسی Costume.
[3] صحنه (Stage): زمینهٔ اصلی پروژه که شکلکها روی آن حرکت میکنند. صحنه اندازهٔ ثابت 480 × 360 پیکسل دارد و مختصات مرکز آن (0,0) است.