কম্পিউটার টিউটোরিয়াল

পাইথন PyGame: উইন্ডোতে টেক্সট (Text) প্রদর্শন করুন

PyGame-এ টেক্সট রেন্ডারিং

PyGame-এ টেক্সট দেখানোর জন্য pygame.font.Font বা pygame.font.SysFont ব্যবহার করে ফন্ট অবজেক্ট তৈরি করতে হয়, তারপর render() মেথড দিয়ে সারফেস (Surface) তৈরি করে blit() দিয়ে স্ক্রিনে আঁকাতে হয়।

পূর্ণ কোড উদাহরণ

import pygame
import sys

pygame.init()

# স্ক্রিন ডাইমেনশন
sur_obj = pygame.display.set_mode((300, 200))
pygame.display.set_caption("Text in Pygame")

# রঙ ও ফন্ট
font_color = (0, 150, 250)
# সিস্টেম ফন্ট ব্যবহার (পাথে নির্ভরশীল না)
font_obj = pygame.font.SysFont("segoeui", 25)  # বা "arial", "dejavusans"

# টেক্সট রেন্ডার (Anti-aliased = True)
text_obj = font_obj.render("Welcome to Pygame", True, font_color)

# মেইন লুপ
while True:
    sur_obj.fill((255, 255, 255))  # সাদা ব্যাকগ্রাউন্ড
    sur_obj.blit(text_obj, (22, 0))  # টেক্সট ব্লিট (x=22, y=0)
    
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
    
    pygame.display.update()

প্রধান ধাপগুলো

  1. ফন্ট লোড: pygame.font.SysFont(name, size) (সিস্টেম ফন্ট) বা pygame.font.Font(file_path, size) (TTF ফাইল)।
  2. রেন্ডার: font.render(text, antialias, color, background=None) → রিটার্ন করে একটি Surface।
  3. ব্লিট: screen.blit(text_surface, (x, y)) → স্ক্রিনে আঁকে।
  4. আপডেট: pygame.display.update() বা flip()।

উন্নত টেক্সট হ্যান্ডলিং

# মাল্টি-লাইন টেক্সট
lines = ["Line 1", "Line 2", "Line 3"]
y_offset = 10
for line in lines:
    text_surf = font_obj.render(line, True, font_color)
    sur_obj.blit(text_surf, (22, y_offset))
    y_offset += text_surf.get_height() + 5

# টেক্সট সেন্টারিং
text_rect = text_obj.get_rect(center=(150, 100))
sur_obj.blit(text_obj, text_rect)

সাধারণ সমস্যা ও সমাধান

  • ফন্ট না পাওয়া: SysFont ফেইল করলে pygame.font.get_default_font() ব্যবহার করুন।
  • ইউনিকোড/বাংলা: TTF ফন্ট ফাইল (যেমন NotoSansBengali-Regular.ttf) লোড করুন Font() দিয়ে।
  • পারফরম্যান্স: স্ট্যাটিক টেক্সট একবার রেন্ডার করুন, লুপের বাইরে।
  1. পাইথন PyGame: উইন্ডোতে বিভিন্ন আকার (Shapes) আঁকুন

  2. পাইথন PyGame: উইন্ডোতে ইমেজ (Image) লোড ও প্রদর্শন করুন

  3. পাইথন Kivy উইন্ডোয়ে লেবেল (Label) যোগ করা

  4. পাইথনে ফ্র্যাকটাল ট্রি আঁকা (Fractal Trees in Python)