You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
2.9 KiB
43 lines
2.9 KiB
<!--
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
{
|
|
"original_hash": "c40a698395ee5102715f7880bba3f2e7",
|
|
"translation_date": "2025-08-24T12:26:33+00:00",
|
|
"source_file": "6-space-game/README.md",
|
|
"language_code": "fa"
|
|
}
|
|
-->
|
|
# ساخت یک بازی فضایی
|
|
|
|
یک بازی فضایی برای آموزش اصول پیشرفته جاوااسکریپت
|
|
|
|
در این درس یاد خواهید گرفت که چگونه بازی فضایی خود را بسازید. اگر تا به حال بازی "Space Invaders" را انجام دادهاید، این بازی همان ایده را دارد: هدایت یک سفینه فضایی و شلیک به هیولاهایی که از بالا پایین میآیند. اینجا تصویری از بازی نهایی را مشاهده میکنید:
|
|
|
|

|
|
|
|
در این شش درس موارد زیر را یاد خواهید گرفت:
|
|
|
|
- **تعامل** با عنصر Canvas برای کشیدن اشیاء روی صفحه
|
|
- **درک** سیستم مختصات کارتزین
|
|
- **یادگیری** الگوی Pub-Sub برای ایجاد معماری بازی که نگهداری و توسعه آن آسانتر باشد
|
|
- **استفاده** از Async/Await برای بارگذاری منابع بازی
|
|
- **مدیریت** رویدادهای صفحهکلید
|
|
|
|
## مرور کلی
|
|
|
|
- تئوری
|
|
- [مقدمهای بر ساخت بازی با جاوااسکریپت](1-introduction/README.md)
|
|
- تمرین
|
|
- [کشیدن روی Canvas](2-drawing-to-canvas/README.md)
|
|
- [حرکت دادن عناصر روی صفحه](3-moving-elements-around/README.md)
|
|
- [تشخیص برخورد](4-collision-detection/README.md)
|
|
- [ثبت امتیاز](5-keeping-score/README.md)
|
|
- [پایان دادن و شروع مجدد بازی](6-end-condition/README.md)
|
|
|
|
## منابع
|
|
|
|
منابع استفاده شده برای این بازی از https://www.kenney.nl/ آمدهاند.
|
|
اگر به ساخت بازی علاقه دارید، این منابع واقعاً عالی هستند، بسیاری از آنها رایگان هستند و برخی پولی.
|
|
|
|
**سلب مسئولیت**:
|
|
این سند با استفاده از سرویس ترجمه هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما تلاش میکنیم دقت را حفظ کنیم، لطفاً توجه داشته باشید که ترجمههای خودکار ممکن است حاوی خطاها یا نادرستیهایی باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حساس، ترجمه حرفهای انسانی توصیه میشود. ما هیچ مسئولیتی در قبال سوءتفاهمها یا تفسیرهای نادرست ناشی از استفاده از این ترجمه نداریم. |