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

پرچمداران

  1. کامبیز اسدزاده

    کامبیز اسدزاده

    بنیـــان گذار


    • امتیاز

      2

    • تعداد ارسال ها

      505



مطالب محبوب

در حال نمایش مطالب دارای بیشترین امتیاز در جمعه, 15 تیر 1397 در همه بخش ها

  1. 1 امتیاز
    طبق موضوع قبلی جهت راه اندازی و استفاده از این کتابخانه برای آزمایش ساده ترین کُد ممکن در این کتابخانه در نسخه‌ی ویندوز یکی از محیط‌های توسعه نرم‌افزار مانند Qt Creator یا Visual Studio را اجرا کرده و یک پروژه ساده ایجاد کنید. ما در این مثال قرار است یک پنجره با ابعاد مشخصی را نمایان سازیم که به صورت زیر خواهد بود. نیاز است هدر SDL را به این صورت به کد خود اضافه کنیم: #include <SDL.h> سپس کُد زیر نمونه ساده ای از نمایش پنجره تحت SDL خواهد بود که در تابع main فراخوانی شده است: #include "SDL.h" int main(int argc, char ** argv) { bool quit = false; SDL_Event event; SDL_Init(SDL_INIT_VIDEO); SDL_Window * window = SDL_CreateWindow("Hello, World!", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, 0); SDL_Renderer * renderer = SDL_CreateRenderer(window, -1, 0); while (!quit) { SDL_WaitEvent(&event); switch (event.type) { case SDL_QUIT: quit = true; break; } } SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); SDL_Quit(); return 0; } شمارنده‌ی SDL_Event از هسته کتابخانه جهت مدیریت انواع رخداد‌ها می‌باشد. در ادامه کُد SDL_Init(SDL_INIT_VIDEO); جهت مقدار دهی اولیه است. جهت سفارشی سازی چنین بخشی بهتر است کُد آن به صورت زیر نوشته شود: if (SDL_Init(SDL_INIT_VIDEO) != 0){ std::cout << "SDL_Init Error: " << SDL_GetError() << std::endl; return 1; } در ادامه SDL_Window به عنوان نوع ساختار در SDL می‌باشد که با متد SDL_CreateWindow ترکیب و مقادیری چون عنوان، محور‌های y و x همچنین طول و عرض پنجره و در نهایت تنظیم فلگ وضعیت پنجره می‌باشد که به صورت پیش فرض بر روی مقدار ۰ تنظیم شده است. در صورتی که لازم باشد پنجره شما به صورت تمام صفحه نمایان شود کافی است فلگ آن را روی مقدار ۲ یا ۳ قرار دهید. جهت تولید (رندر) و ارسال پنجره به این مرحله کافی است از SDL_Renderer نمونه گرفته و پنجره‌ی خود را به متُد SDL_CreateRenderer ارسال کنید. در ادامه برای بررسی وضعیت حلقه‌ای تعریف شده است که در صورت رخداد خروج اجرا خواهد شد. while (!quit) { SDL_WaitEvent(&event); switch (event.type) { case SDL_QUIT: quit = true; break; } } در نهایت SDL_DestroyRenderer جهت نابود سازی زمینه‌ی تولید یک پنجره و تمامی موارد همراه آن و همچنین SDL_DestroyWindow جهت نابود سازی پنجره ساخته شده مورد استفاده قرار می‌گیرد که معمولاً در تمامی برنامه‌های تحت SDL مورد استفاده قرار خواهند گرفت. تابع SDL_Quit(); جهت پاکسازی تمامی موارد مقدار دهی شده زیر سیستمی مورد استفاده قرار می‌گیرد. برنامه را اجرا کنید، حال باید پنجره‌ای در ابعاد ۶۴۰ در ۴۸۰ پیکسل با عنوان Hello, World تولید و نمایش داده شود.?
  2. 1 امتیاز
    کتابخانه‌ی SDL مخفف Simple DirectMedia Layer است که به صورت چند سکویی طراحی شده است که قدرت و سرعت بسیار زیادی در توسعه مالتی مدیا برای برنامه‌ها و بازی‌های رایانه ای دارد. توسط این کتابخانه می‌توانید مواردی چون صدا، ویدیو، دستگاه‌های ورودی، درایور سی دی و غیره را مدیریت کنید. همچنین این کتابخانه تحت Direct3D و OpenGL موارد ۳ بعدی را مدیریت می‌کند. نسخه‌های پایدار این کتابخانه ۲.۰.۸ می‌باشد که برای دریافت بر روی پلتفرم ویندوز 32 بیتی از این لینک و برای پلتفرم‌ 64 بیتی ویندوز از این لینک آن را دریافت کنید. برای پلتفرم macOS از این لینک برای دریافت اقدام کنید. دریافت کتابخانه برای پلتفرم لینوکس. توجه داشته باشید این کتابخانه به صورت پیشفرض تمامی ماژول‌های خود را همراه ندارد. برای مثال در صورتی که می‌خواهید با رندر بر روی متن و تصاویر کار کنید باید آن را از این بخش دریافت و در کنار کتابخانه‌ی اصلی قرار دهید. توجه داشته باشید که پوشه‌ی include و lib را بر اساس نوع معماری پردازنده و سیستم عامل خود مشخص کنید. SDL2Main.lib و SDL2.lib را نیاز خواهید داشت. در این مثال کُد فوق در فایل .pro برای محیط Qt Creator به صورت زیر می‌باشد. INCLUDEPATH += $$PWD/../../YourPath/SDL2-2.0.8/include DEPENDPATH += $$PWD/../../YourPath/SDL2-2.0.8/include win32: LIBS += -L$$PWD/../../YourPath/SDL2-2.0.8/lib/x64/ -lSDL2 win32: LIBS += -L$$PWD/../../YourPath/SDL2-2.0.8/lib/x64/ -lSDL2main جهت اجرای صحیح برنامه فایل SDL2.dll را در کنار فایل اجرایی برنامه‌ی خود کپی کنید. در ادامه‌ی این موضوع آموزش‌های مرتبط با این کتابخانه ارائه شده است. برای مثال (اولین برنامه) آموزش نصب و راه اندازی کتابخانه در ++C
این صفحه از پرچمداران بر اساس منطقه زمانی تهران/GMT+03:30 می باشد
×
×
  • جدید...