رفتن به مطلب
جامعه‌ی برنامه‌نویسان مُدرن ایران

پست های پیشنهاد شده

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

sf::Font font;

در ادامه برای بارگذاری یک فونت به صورت زیر عمل می‌کنیم:

font.loadFromFile("arial.ttf");

در قالب یک دستور شرطی:

// Load it from a file
if (!font.loadFromFile("arial.ttf"))
{
    // error...
}

برای استفاده از فونت و قالب‌های سفارشی نیاز است تا از کلاس sf::Text نمونه گیری شود، بنابراین در ادامه مثال زیر نشان می‌دهد که نمونه‌ای از کلاس Text ایجاد و با فونت مربوطه ترکیب شده است.

sf::Text MyText;

کلاس sf::Text دارای توابع عضوی مانند setFont، setCharacterSize، setStyle و موارد مشابه دیگری می‌باشد که در تولید ظاهر سفارشی بر روی یک متن اعمال می‌شوند. در ادامه  مثال فوق نمونه‌ای از نحوه‌ی ترکیب این کلاس می‌باشد.

sf::Text MyText;
MyText.setFont(font);
MyText.setString("Hello, My name is Kambiz :)");
MyText.setCharacterSize(14);
MyText.setStyle(sf::Text::Regular);
MyText.setColor(sf::Color::White);

توجه داشته باشید که برای رسم محتوای مورد نظر باید توسط متُد draw آن را به کلاس RenderWindow ارسال کنید. برای این کار کافی است از تابع draw استفاده شود به صورت زیر:

window.draw(MyText);

کد نهایی این مثال به صورت زیر است:

#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>
#include <iostream>

int main() {


    sf::RenderWindow window(sf::VideoMode(640, 480), "Hello world!");

    while (window.isOpen())
    {
        sf::Event event;

        while (window.pollEvent(event))
        {
            if (sf::Keyboard::isKeyPressed(sf::Keyboard::Escape))
                window.close();
        }

           sf::Font font;
           font.loadFromFile("arial.ttf");

           // Create a text
           sf::Text MyText;
           MyText.setFont(font);
           MyText.setString("Hello, My name is Kambiz :)");
           MyText.setCharacterSize(14);
           MyText.setStyle(sf::Text::Regular);
           MyText.setColor(sf::Color::White);

        window.clear(sf::Color::Black);
        window.draw(MyText);
        window.display();

    }

    return 0;
}

برنامه را کامپایل و اجرا کنید، پیغام شما در سطر اول پنجره‌ی تولید شده نمایش داده خواهد شد.

SFML-OutPut.png

  • پسندیدن 3
  • تشکر شده 2

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
مهمان
این موضوع برای عدم ارسال قفل گردیده است.

  • کاربران آنلاین در این صفحه   0 کاربر

    هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.

×
×
  • جدید...