رفتن به مطلب
مرجع رسمی سی‌پلاس‌پلاس ایران
کامبیز اسدزاده

اولین برنامه تحت کتابخانهٔ SFML


امتیاز دادن به این موضوع:

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

با توجه به موضوع قبل بعد از نصب و راه اندازی کتابخانه برای اینکه ساده ترین مثال ممکن را توضیح دهیم در پروژهٔ خود در فایل main.cpp کد زیر را وارد کنید.

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


int main() {
    
    sf::Window window(sf::VideoMode(640, 480), "Hello world!");
    std::cout << "Window is created!" << std::endl;

    return 0;
}

در کتابخانهٔ SFML تمامی کلاس‌ها در هدر‌های مخصوص خود قرار دارند، همانند استاندارد تمامی کتابهانه‌های سی‌پلاس‌پلاس ? بنابراین جهت نمایش یک پنجره ساده با ابعاد مشخص ما نیاز به هدر Window.hpp خواهیم داشت که در کُد بالا وارد شده است. از کلاس فوق نمونه گیری کرده و سپس تحت مشخصهٔ VideoMode ابعاد و عنوان پنجرهٔ خود را وارد می‌کنیم. 

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

sf::sleep(sf::seconds(3));

کُد بهینه شده با توجه به ایجاد رخداد کلیدی برای پایان دادن برنامه به صورت زیر خواهد بود:

#include <SFML/Window.hpp>

int main() {

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

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

        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::KeyPressed)
                window.close();
        }
    }

    return 0;
}

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

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

در ادامه آموزش‌های لازم در بخش مربوطه ارائه خواهد شد.

  • پسندیدن 1

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


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

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

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

×
×
  • جدید...