پروژه پخش صدا هنگام برخورد شکلک ربات به شکلک ستاره در اسکرچ
در این قسمت از مجموعه آموزشی اسکرچ با نحوه پخش صدا هنگام برخورد شکلک ربات با شکلک ستاره آشنا میشوید. پروژه جاری، بخش سوم از بازی تعقیب ستاره در اسکرچ است. در این پروژه با دستورات شرطی در برنامه نویسی نیز آشنا میشوید.
این مطلب مبتنی بر مجموعه کارتهای کدنویسی اسکرچ (با اندکی تغییر) است. کارتهای اصلی این پروژه را میتوانید از طریق سایت اسکرچ دریافت کنید.
هدف پروژه
اگر بخش دوم بازی تعقیب ستاره را در قالب پروژه جابجایی خودکار شکلک به محل تصادفی تکمیل کرده باشید تا به اینجا میتوانید با کمک کلیدهای پیکانی شکلک ربات را جابجا کنید و تلاش کنید ستاره در حال حرکت را بگیرید. در این بخش کاری میکنیم که هنگام برخورد شکلک ربات با شکلک ستاره، صدای مناسبی پخش شود.
مراحل ساخت پروژه پخش صدا هنگام برخورد شکلک ربات به شکلک ستاره در اسکرچ
از آنجایی که قرار است ساخت بازی تعقیب ستاره را ادامه دهیم میتوانید به پروژه قبلی در حساب کاربری خود در اسکرچ مراجعه کنید و کار خود را روی همان پروژه ادامه دهید. اگر هم میخواهید تمرین بیشتری انجام دهید میتوانید یک پروژه جدید بسازید و مراحل پروژه قبل را تکرار کنید.
اضافه کردن قطعه های موردنیاز پروژه
با توجه به اینکه میخواهیم هنگام برخورد شکلک ربات با شکلک ستاره، صدایی پخش شود بنابراین قطعه های موردنیاز را به ناحیه کد شکلک ربات اضافه میکنیم. ابتدا مطمئن شوید شکلک ربات در بخش شکلکها انتخاب شده است. سپس قطعات زیر را به ترتیب در ناحیه کد شکلک قرار دهید.
لازم است بررسی برخورد شکلکها و … پس از اجرای بازی به صورت خودکار انجام شود. بنابراین ابتدا قطعه “وقتی پرچم کلیک شد” را از دسته “رویدادها” به ناحیه کد شکلک ربات اضافه میکنیم.
بررسی برخورد شکلک ربات به ستاره باید تا زمان اجرای بازی تکرار شود. به این ترتیب هر زمانی از اجرای پروژه که ربات با ستاره برخورد میکند این برخورد تشخیص داده میشود و صدا پخش خواهد شد. برای این بررسی مداوم به یک حلقه بی نهایت یا قطعه “برای همیشه” نیاز داریم. میتوانید این قطعه (که در قسمتهای قبل با آن آشنا شدهاید) را در دسته “کنترل” پیدا کنید و به قطعه قبلی وصل کنید. همانطور که قبلا هم گفتیم قطعات یا دستوراتی که بین بخش شروع و پایان این قطعه قرار میگیرند به صورت نامحدود تکرار میشود.
قطعه شرطی و تشخیص برخورد شکلک ها در اسکرچ
حالا به سراغ اعمال تکراری داخل حلقه میرویم. ابتدا میبایست بررسی کنیم آیا شکلک ربات به شکلک ستاره برخورد کرده یا خیر؟ اینجاست که به یک قطعه یا دستور شرطی نیاز داریم. دستورات شرطی در زبان های برنامه نویسی بسته به این که یک شرط درست یا نادرست باشد امکان انجام اعمال، محاسبات و اجرای دستورات متفاوتی را فراهم میکنند.
قطعه شرطی موردنیاز در این پروژه، قطعه “اگر … آنگاه” است. این قطعه میتواند در صورت صحیح بودن یک شرط مجموعهای از اعمال را انجام دهد. قطعه “اگر … آنگاه” را میتوانید در دسته “کنترل” پیدا کنید و داخل قطعه حلقه قرار دهید.
حالا باید شرط قطعه را مشخص کنید. برای این منظور هم از قطعهای استفاده میکنیم که میتواند برخورد با یک شکلک دیگر را تشخیص دهد. کافیست قطعه “خوردی به …” را از دسته “تشخیص” پیدا کنید و در قسمت میانی قطعه “اگر … آنگاه” قرار دهید. سپس شکلک ستاره یا همان Star را در آن انتخاب کنید. (این قطعه در مورد مثال ما برخورد شکلک ربات با ستاره را تشخیص میدهد).
پخش صدا
اگر شرط برخورد شکلک ربات با ستاره صحیح باشد (ربات به ستاره خورده باشد) باید صدای مناسبی که گفتیم پخش شود. دستورات یا قطعاتی که بین بخش شروع و پایان قطعه “اگر … آنگاه” قرار میگیرند در صورت صحیح بودن شرط قطعه اجرا میشوند. بنابراین یک قطعه “پخش صدای … تا انتها” را داخل قطعه “اگر … آنگاه” قرار میدهیم. (این قطعه را میتوانید در دسته “صداها” پیدا کنید).
صدایی که میخواهیم هنگام برخورد ربات با ستاره پخش شود با نام Collect (به معنای جمع کردن) در فهرست صداهای شکلک ربات (در زبانه صداها) به صورت پیشفرض وجود دارد. این صدا را به عنوان صدای قطعه پخش صدا انتخاب میکنیم.
در تصویر زیر میتوانید ناحیه کد کامل شده شکلک ربات (شامل کد قسمتهای قبلی و کد اضافه شده در این قسمت) را مشاهده کنید.
امتحان کنید!
حالا با کلیک روی دکمه پرچم سبز، پروژه خود را امتحان کنید. سعی کنید با کمک کلیدهای پیکانی، ربات را به سمت ستاره هدایت کنید و آن را بگیرید. هر بار که ربات به ستاره میخورد باید صدایی که در پروژه مشخص کردید را بشنوید. در ویدئوی زیر میتوانید نتیجه نهایی این پروژه را مشاهده کنید.