خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

نحوه استفاده از فونت های سفارشی و جلوه های متنی با کتابخانه Arcade Python

ممکن است جذاب ترین جنبه بازی شما نباشد، اما متن می تواند عنصر قدرتمندی باشد که ارزش پالایش را دارد.

Python’s Arcade یک کتابخانه قدرتمند است که ساخت بازی های دو بعدی را آسان می کند. یکی از راه‌های افزایش جذابیت بصری بازی، استفاده از فونت‌های سفارشی و افکت‌های متنی است. فونت های سفارشی می توانند شخصیت بازی شما را القا کنند، در حالی که جلوه های متنی می توانند توجه را به اطلاعات مهم درون بازی جلب کنند.

فونت های سفارشی لایه ای از تمایز بصری را به عناصر متنی بازی شما اضافه می کنند. با انتخاب فونت هایی که با تم و حال و هوای بازی شما مطابقت دارند، می توانید تجربه ای فراگیرتر برای بازیکنان ایجاد کنید.

ایجاد یک بازی دو بعدی ساده

برای آشنایی با استفاده از فونت های سفارشی و جلوه های متنی، با ایجاد یک بازی دو بعدی ساده با حرکت بازیکن شروع کنید. این مرحله پایه ای را فراهم می کند که بعداً می توانید عناصر و افکت های متن را معرفی کنید.

کد استفاده شده در این مقاله در مخزن GitHub آن موجود است و تحت مجوز MIT برای شما رایگان است.

برای این مثال (simple-game.py)، کلاسی به نام MyGame تعریف کنید که از arcade.Window به ارث می برد. سازنده کلاس (__init__) با ارسال عرض، ارتفاع و عنوان صفحه به سازنده والد، پنجره بازی را مقداردهی اولیه می کند. علاوه بر این، رنگ پس زمینه پنجره بازی را با استفاده از () arcade.set_background_color تنظیم کنید.

برای حرکت بازیکن، موقعیت بازیکن را در سازنده (self.player_x و self.player_y) مقداردهی اولیه کنید. متد on_draw() رندر شخصیت پخش کننده را بر روی صفحه انجام می دهد. این راه اندازی گام به گام بازی پایه و اساس یکپارچه سازی متن و جلوه ها را تشکیل می دهد.

بازی ساده در آرکید با شی بازیکن

اضافه کردن متن

هنگامی که ساختار اصلی بازی خود را به دست آوردید، وقت آن است که شروع به اضافه کردن عناصر متنی کنید. نمایش متن یک راه اساسی برای انتقال اطلاعات به بازیکنان است. می‌توانید نمرات، دستورالعمل‌ها، عناصر داستان یا برچسب‌های رابط کاربری را نمایش دهید.

در متد on_draw() کلاس MyGame از تابع arcade.draw_text() برای نمایش پیام خوشامدگویی بر روی صفحه استفاده کنید. این تابع چندین آرگومان از جمله متن، موقعیت آن (در مختصات x و y)، رنگ و اندازه فونت را می گیرد.

def on_draw(self):
    arcade.start_render()
    arcade.draw_circle_filled(self.player_x, self.player_y, 30, BLUE)
    
    # Display a welcome message
    arcade.draw_text("Welcome to My Game!", 200, 300, BLACK, 24)

با استفاده از این عملکرد، می توانید متنی را به بازی خود اضافه کنید و زمینه را برای جلوه های دقیق تر فراهم کنید.

مطلب مرتبط:   نحوه حرکت دشمنان به روش های مختلف با استفاده از PyGame

متن ساده در بازی با شی بازیکن

افزودن فونت سفارشی

فونت سفارشی یک راه عالی برای برجسته کردن بازی شما است. کتابخانه Arcade استفاده از فونت های سفارشی را با تابع ()arcade.load_font آسان می کند. این تابع به شما امکان می دهد یک فایل فونت سفارشی (معمولاً با فرمت ttf.) را برای استفاده در بازی خود بارگذاری کنید.

برای افزودن یک فونت سفارشی به بازی خود، ابتدا مطمئن شوید که یک فایل فونت سفارشی بدون حق نسخه برداری در فهرست بازی شما وجود دارد. در متد __init__() کلاس MyGame، فونت سفارشی را با استفاده از arcade.load_font() بارگیری کنید و آن را به یک متغیر (مثلا self.custom_font) اختصاص دهید.

سپس می توانید از این فونت سفارشی همراه با تابع ()arcade.draw_text برای نمایش متن با سبک بصری مجزا استفاده کنید.

def on_draw(self):
    arcade.start_render()
    arcade.draw_circle_filled(self.player_x, self.player_y, 30, BLUE)
    
    # Load the custom font in the __init__ method of MyGame class
    self.custom_font = arcade.load_font("custom_font.ttf")
    text = "Custom Font!"

    # Inside the on_draw method, draw text using the custom font
    arcade.draw_text(text, 250, 250, BLACK, font_name=self.custom_font)

در اینجا خروجی است:

متن سفارشی در آرکید با شی بازیکن

افزودن افکت های متنی

جلوه های متنی پویایی و علاقه بصری را به بازی شما تزریق می کند. یکی از جلوه‌های جذاب، یک انیمیشن تپنده‌ای است که توجه را به متن جلب می‌کند. شما می توانید با تغییر اندازه فونت در طول زمان یک اثر ضربان دار اولیه را اجرا کنید.

برای دستیابی به این اثر، یک متغیر جدید به نام text_effect در کلاس MyGame معرفی کنید. این متغیر با تنظیم اندازه فونت متن، انیمیشن ضربان دار را کنترل می کند.

با افزایش و بسته بندی متغیر text_effect در متد ()on_draw، یک افکت چرخه ای ایجاد کنید که اندازه فونت را تغییر می دهد و یک انیمیشن ضربان دار ایجاد می کند.

self.text_effect = 0

text = "Pulsating Text"

# Inside the on_draw method, implement the pulsating text effect
text_size = 24 + self.text_effect
arcade.draw_text(text, 300, 200, BLACK, text_size, self.custom_font)
self.text_effect = (self.text_effect + 1) % 10

از جمله ویژگی های اضافی

بسیاری از ویژگی های دیگر وجود دارد که می توانید در کنار یک فونت سفارشی از آنها استفاده کنید.

مطلب مرتبط:   استفاده از پایگاه داده MongoDB در یک برنامه NestJS با Mongoose

تصاوير متحرك

برای افزودن حرکت و جذابیت بصری به شخصیت ها و اشیاء، انیمیشن های اسپرایت را پیاده سازی کنید. به عنوان مثال، انیمیشن های پیاده روی برای شخصیت ها ایجاد کنید یا انیمیشن های تاب دار ظریف را به درختان و گیاهان اضافه کنید.

نمایش امتیاز

از فونت های سفارشی و جلوه های متنی برای نمایش امتیازات و دستاوردهای بازیکن به شیوه ای جذاب استفاده کنید. هنگام به‌روزرسانی نمرات، انتقال‌های متحرک را اجرا کنید تا تجربه را از نظر بصری جذاب‌تر کنید.

جعبه های گفتگو

برای ایجاد کادرهای گفتگوی بصری جذاب برای مکالمات درون بازی، داستان سرایی را با جلوه های متنی تقویت کنید. برای شناسایی کاراکترهای مختلف از فونت های مخصوص کاراکتر و جلوه های متنی استفاده کنید.

بهترین روش ها برای فونت های سفارشی و جلوه های متنی

چندین بهترین روش وجود دارد که باید به خاطر داشته باشید تا از یک تجربه بازی زیبا و بصری جذاب اطمینان حاصل کنید.

از فونت های خوانا استفاده کنید

در حالی که فونت های سفارشی می توانند حس منحصر به فردی را به بازی شما اضافه کنند، مهم است که خوانایی و خوانایی را در اولویت قرار دهید. فونتی که شیک به نظر می رسد اما خواندن آن دشوار است می تواند بازیکنان را ناامید کند و مانع تعامل آنها شود.

فونتی را انتخاب کنید که با موضوع بازی شما مطابقت داشته باشد و در عین حال مطمئن شوید که متن واضح و قابل فهم باقی می ماند.

یک موضوع ثابت داشته باشید

برای ایجاد یک سبک بصری منسجم در طول بازی خود، ثبات را در انتخاب فونت و جلوه های متنی خود حفظ کنید. فونت هایی را انتخاب کنید که مضمون و فضای کلی بازی شما را تکمیل کنند.

یکنواختی در استفاده از فونت به ایجاد یک هویت بصری قوی کمک می کند و از یک تجربه بصری ناخوشایند که می تواند غوطه وری پخش کننده را مختل کند، جلوگیری می کند.

اندازه فونت را در نظر بگیرید

هنگام ادغام فونت های سفارشی، به اندازه فونت ها و مقیاس آنها در وضوح ها و دستگاه های مختلف توجه داشته باشید. فونت هایی که در صفحه برنامه نویس کاملاً خوانا به نظر می رسند ممکن است در نمایشگرهای دیگر خیلی کوچک یا خیلی بزرگ شوند.

مطلب مرتبط:   نحوه پیاده سازی مکانیک پرش در کتابخانه آرکید پایتون

بازی خود را روی دستگاه های مختلف تست کنید تا مطمئن شوید که متن خوانا و از نظر بصری دلپذیر باقی می ماند.

از کنتراست خوب اطمینان حاصل کنید

متن باید به وضوح در برابر پس زمینه خود برجسته شود. از کنتراست کافی بین متن و محیط بازی اطمینان حاصل کنید تا از مشکلات خوانایی جلوگیری کنید، به خصوص در صحنه های تیره تر یا شلوغ تر.

رنگ‌های متنی را انتخاب کنید که به راحتی از پس‌زمینه قابل تشخیص باشند و برای افزایش انسجام بصری، یکپارچگی در طرح‌های رنگی را حفظ کنند.

از جلوه های متنی در حد اعتدال استفاده کنید

در حالی که جلوه‌های متنی می‌توانند به بازی شما جذابیت بدهند، اعتدال کلیدی است. استفاده بیش از حد از جلوه های متنی پر زرق و برق می تواند به درهم ریختگی بصری منجر شود و توجه بازیکنان را از اطلاعات مهم منحرف کند.

جلوه‌های متنی را برای برجسته کردن پیام‌های مهم، دستاوردها یا رویدادهای مهم درون بازی رزرو کنید تا تأثیر آنها را حفظ کنید.

عملکرد خوب را حفظ کنید

اگر مراقب نباشید، فونت های سفارشی و جلوه های متنی می توانند بر عملکرد بازی تأثیر بگذارند. فونت های با وضوح بالا و انیمیشن های پیچیده می توانند منابع اضافی را مصرف کنند و نرخ فریم بازی را کاهش دهند. عناصر متن خود را برای ایجاد تعادل بین جذابیت بصری و عملکرد، بهینه سازی کنید، و از یک تجربه بازی روان اطمینان حاصل کنید.

بازی های خود را با فونت های سفارشی و جلوه های متن جذاب تر کنید

استفاده از فونت های سفارشی و جلوه های متنی در بازی Arcade شما فراتر از زیبایی شناسی است. لایه هایی از درگیری و عمق را اضافه می کند. فونت های سفارشی شخصیت و حال و هوای بازی شما را منتقل می کنند، در حالی که جلوه های متنی توجه بازیکن را هدایت می کند و نشانه های بصری را ارائه می دهد.

با پیاده سازی استراتژیک این ویژگی ها، می توانید بازیکنان را در یک تجربه بازی تعاملی و جذاب غوطه ور کنید.