شروع بازی سازی با Pygame

بازی سازی با کتابخانه Pygame را بررسی می کنیم.

چرا پایتون برای بازی‌سازی؟

پایتون یکی از زبان‌های برنامه‌نویسی ساده و قدرتمند است. به کمک کتابخانه Pygame، حتی مبتدیان می‌توانند بازی‌های دوبعدی جذاب بسازند بدون پیچیدگی زیاد.

Pygame Logo

تاریخچه Pygame

کتابخانه Pygame در سال 2000 توسط Pete Shinners ایجاد شد تا یک ابزار ساده برای ساخت بازی‌های دوبعدی با پایتون ارائه دهد. هدف اصلی آن فراهم کردن روشی سریع و آسان برای توسعه بازی‌ها و آموزش برنامه‌نویسی به مبتدیان بود. Pygame بر پایه SDL (Simple DirectMedia Layer) ساخته شده است و از آن برای پردازش گرافیک، صدا و ورودی کاربر استفاده می‌کند.

از زمان انتشار، Pygame به محبوب‌ترین کتابخانه بازی‌سازی پایتون تبدیل شده و میلیون‌ها توسعه‌دهنده از آن برای ساخت بازی‌های آموزشی، سرگرمی و حتی پروژه‌های حرفه‌ای استفاده کرده‌اند.

نصب محیط و کتابخانه‌ها

ابتدا پایتون را نصب کنید و سپس کتابخانه pygame را به کمک pip نصب نمایید:

pip install pygame

برای راحتی بیشتر، می‌توانید از IDEهایی مثل PyCharm یا VS Code استفاده کنید.

ساخت اولین بازی ساده

مثال: نمایش یک توپ قرمز روی صفحه:


# وارد کردن کتابخانه pygame
# اینجا کتابخانه‌ی pygame که برای ساخت بازی‌های دو‌بعدی استفاده می‌شود را وارد کرده‌ایم
import pygame

# راه‌اندازی اولیه pygame
# این دستور تمام ماژول‌های pygame را آماده‌ی استفاده می‌کند (مثل ماژول صدا، گرافیک، رویدادها و …)
pygame.init()

# ایجاد پنجره‌ی بازی
# این دستور صفحه ای با ابعاد 1280 در 720 پیکسل ایجاد می کند
# این همان چیزی است که کاربر به‌عنوان صفحه‌ی بازی می‌بیند
screen = pygame.display.set_mode((1280, 720))

# عنوان پنجره بازی را تنظیم می کنیم
pygame.display.set_caption("اولین بازی من")

# ساعت و متغیرهای پایه
# تا زمانی که این متغیر برابر True باشد حلقه بازی ادامه پیدا می کند
running = True

# مکان اولیه توپ را در صفحه بازی مشخص می کنیم
x, y = 300, 200

# تا وقتی شرط برقرار باشد بازی اجرا می شود
while running:
	# گرفتن رویدادها
	# رویدادهای کیبورد، موس و بسته شدن پنجره بررسی می‌شوند
	# اگر کاربر کلید ضربدر پنجره را بزند بازی پایان می یابد
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
    
	# پاک‌سازی صفحه
	# صفحه با رنگ سفید پر می شود تا از فریم ثبلی چیزی باقی نماند
    screen.fill((255, 255, 255))
	
	# کشیدن دایره
	# دایره ای قرمز رنگ با شعاع 
	# 30
	# پیکسل در مکان
	# x و y
	# رسم می شود
    pygame.draw.circle(screen, "red", (x, y), 30)
	
	# به‌روزرسانی تصویر
	# خروجی روی صفحه نمایش داده می‌شود و در واقع فریم جدید ظاهر می شود
    pygame.display.flip()

pygame.quit()

افزودن حرکت با کلیدها

برای حرکت دادن توپ از کلیدهای صفحه کلید استفاده کنید:


import pygame

pygame.init()
screen = pygame.display.set_mode((1280, 720))
pygame.display.set_caption("اولین بازی من")

# برای کنترل سرعت اجرای بازی بر حسب فریم بر ثانیه
clock = pygame.time.Clock()

running = True
x, y = 300, 200

# فاصله‌ی زمانی بین دو فریم برای حرکت روان و مستقل از سرعت سخت‌افزار استفاده می‌شود
dt=0

while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
    
    
    screen.fill((255, 255, 255))
    pygame.draw.circle(screen, "red", (x, y), 30)
    
	# وضعیت همه کلیدهای کیبورد را برمی‌گرداند
    keys = pygame.key.get_pressed()
	
	# حرکت به چپ
    if keys[pygame.K_LEFT]:
        x -= 5
		
	# حرکت به راست
    if keys[pygame.K_RIGHT]:
        x += 5
		
	# حرکت به بالا
    if keys[pygame.K_UP]:
        y -= 5
	
	# حرکت به پایین
    if keys[pygame.K_DOWN]:
        y += 5
    
    pygame.display.flip()
    
	# بازی را روی حداکثر 60 فریم بر ثانیه محدود می‌کند و زمان میلی ثانیه را به ثانیه تبدیل می کند
    dt = clock.tick(60) / 1000

pygame.quit()

مسیر یادگیری Pygame

برای یادگیری Pygame به صورت مؤثر، بهتر است مراحل زیر را دنبال کنید:

  1. مبانی پایتون: مطمئن شوید با مفاهیم پایه مانند متغیرها، حلقه‌ها و توابع آشنا هستید.
  2. کار با Pygame: نصب و اجرای مثال‌های ساده، رسم اشکال و کار با رنگ‌ها.
  3. تعامل کاربر: استفاده از کلیدها و موس برای کنترل اشیاء.
  4. صدا و موسیقی: افزودن جلوه‌های صوتی برای جذاب‌تر شدن بازی.
  5. برخورد و قوانین فیزیک ساده: کنترل برخورد اشیاء و حرکت‌های طبیعی‌تر.
  6. پروژه‌های کوچک: ساخت بازی‌های کوچک مانند توپ و پلتفرمر برای تمرین و یادگیری عمیق.
  7. پروژه‌های بزرگتر: ایجاد بازی‌های کامل با چند مرحله، منو و ذخیره‌سازی امتیاز.

با طی این مسیر، می‌توانید به تدریج مهارت خود را در Pygame افزایش داده و پروژه‌های پیچیده‌تر بسازید.

مهدوی

مدرس

هنوز هیچ دیدگاهی ثبت نشده است!

مقالات اخیر

برچسب‌ها

به جامعه دانشجویان ما بپیوندید!

به جامعه دانشجویان ما بپیوندید و از جدیدترین دوره‌ها و مقالات ما باخبر شوید