<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های erfan mohammadjafari</title><link>https://virgool.ir/feed/@erfan0electronic</link><description></description><language>fa</language><pubDate>2026-11-12 09:53:22</pubDate><image><url>https://files.virgool.ir/upload/users/17194/avatar/avatar.png</url><title>erfan mohammadjafari</title><link>https://virgool.ir/@erfan0electronic</link></image><item><title>چگونه با اسکرچ یک بازی پلتفرمر حرفه‌ای شبیه Geometry Dash بسازیم؟</title><link>https://virgool.ir/@erfan0electronic/چگونه-با-اسکرچ-یک-بازی-پلتفرمر-حرفه-ای-شبیه-geometry-dash-بسازیم-ffp8wdwswiea</link><description>https://faradars.org/courses/geometry-dash-game-in-scratch-fvsch318آموزش پروژه محور اسکرچ – ساخت بازی Geometry Dash در فرادرسدر نگاه اول، اسکرچ یک ابزار ساده برای آموزش برنامه‌نویسی به کودکان به نظر می‌رسد؛ محیطی رنگی با بلوک‌های آماده که بیشتر برای سرگرمی طراحی شده است.اما اگر از سطح استفاده‌ی سطحی عبور کنیم، اسکرچ می‌تواند بستری جدی برای آموزش تفکر الگوریتمی، طراحی بازی، فیزیک حرکتی و بهینه‌سازی کد باشد.در این مقاله، تجربه‌ی طراحی و تدریس یک دوره‌ی کامل «ساخت بازی پلتفرمر دوبعدی الهام‌گرفته از Geometry Dash» را مرور می‌کنم؛ دوره‌ای که هدف آن صرفاً ساخت یک بازی نبود، بلکه آموزش منطق پشت بازی‌سازی بود.چرا Geometry Dash؟Geometry Dash یک بازی پلتفرمر ساده اما بسیار دقیق است:پرش‌ها زمان‌بندی دارندبرخوردها حساس هستندکوچک‌ترین خطای منطقی باعث باخت می‌شودهمین ویژگی‌ها آن را به گزینه‌ای ایده‌آل برای آموزش مفاهیم زیر تبدیل می‌کند:شتاب و گرانشتشخیص برخورد (Collision Detection)اسکرول افقی و عمودیحالت‌های مختلف کاراکتربهینه‌سازی حرکت و رفع باگفصل اول: طراحی به‌جای کدنویسیآموزش از صفحه‌ی نقاشی اسکرچ شروع شد.دانش‌آموز یاد می‌گیرد:چرا استفاده از Shift برای رسم مربع مهم استچگونه با خطوط ساده پلتفرم طراحی کندچرا رنگ‌ها در بازی فقط زیبایی نیستند، بلکه داده محسوب می‌شونددر همین مرحله، پایه‌ی تشخیص برخورد بر اساس رنگ گذاشته می‌شود.فصل دوم: پرش، شتاب و فیزیکبه‌جای استفاده از بلوک‌های آماده‌ی حرکتی، پرش با متغیر ySpeed پیاده‌سازی شد:افزایش سرعت رو به بالاکاهش تدریجی سرعتصفر شدن شتاب در اوجسقوط کنترل‌شده تا برخورد با زمیناین بخش، نقطه‌ای است که دانش‌آموز متوجه می‌شود «بازی» فقط تصویر نیست؛ ریاضیات در حال اجراست.فصل سوم: برخورد هوشمندبرخورد ساده باعث باگ می‌شود.برای همین:فضای امن ±۴ پیکسل تعریف شداز قدر مطلق برای تشخیص بازه برخورد استفاده شدکاراکتر در برخورد، اصلاح موقعیت می‌گیرد نه حذف یا توقف ناگهانیاین دقیقاً همان چیزی است که در موتورهای بازی حرفه‌ای اتفاق می‌افتد، فقط در مقیاس ساده‌تر.فصل چهارم: مراحل بی‌نهایت و افکت‌هادر این فصل:مراحل با تغییر Costume ادامه‌دار شدندتوهم بی‌نهایت بودن مرحله ایجاد شدذرات حرکتی (Particle System) با ساخت مشابه پیاده‌سازی شدانفجار ذرات هنگام برخورد اضافه شددانش‌آموز برای اولین بار با مفهوم افکت‌های بصری وابسته به منطق بازی آشنا می‌شود.فصل پنجم: منو و تعامل کاربربازی بدون منو ناقص است.در این بخش:دکمه Play طراحی شدافکت Bounce با تغییر تدریجی اندازه پیاده‌سازی شدتعامل ماوس با منطق عددی ترکیب شداینجا اسکرچ از یک ابزار آموزشی به یک محیط UI تعاملی تبدیل می‌شود.فصل ششم: دوربین و اسکرول عمودیبا افزودن دوربین:فضای طراحی مراحل افزایش پیدا کردحرکت عمودی کنترل شداختلاف سرعت سقوط کاراکتر و دوربین با فرمول اصلاح شداین فصل، درک «دید دوربین» در بازی‌سازی را آموزش می‌دهد.فصل هفتم: تغییر حالت (Cube → Ship)در این مرحله:کاراکتر به فضاپیما تبدیل می‌شودورودی‌ها رفتار متفاوت پیدا می‌کنندپورتال‌ها با رنگ خاص شناسایی می‌شوندمنطق برخورد و ذرات تطبیق داده می‌شوداین فصل نشان می‌دهد که اسکرچ هم می‌تواند State Machine داشته باشد.آیا این یک پروژه واقعی است؟بله، کاملاً.این آموزش شامل:طراحیالگوریتممتغیربهینه‌سازیرفع باگتوسعه‌پذیریاست و دقیقاً همان چیزی است که از یک پروژه‌ی آموزشی استاندارد انتظار می‌رود.جمع‌بندیاسکرچ اگر درست تدریس شود، فقط یک ابزار کودکانه نیست.می‌تواند پلی باشد میان:«بازی کردن» و «فهمیدن اینکه بازی چگونه ساخته می‌شود»و شاید مهم‌تر از همه:دانش‌آموز یاد می‌گیرد که قبل از کشیدن بلوک‌ها، فکر کند.</description><category>erfan mohammadjafari</category><author>erfan mohammadjafari</author><pubDate>Tue, 30 Dec 2025 19:02:10 +0330</pubDate></item></channel></rss>