آموزش :: معرفی واسط گرافیکی SFML برای نوشتن بازی و برنامه های مولتی مدیا
درخواست های ارتباط
جستجو
    لیست دوستان من
    صندوق پیام
    همه را دیدم
    • در حال دریافت لیست پیام ها
    صندوق پیام
    رویدادها
    همه را دیدم
    • در حال دریافت لیست رویدادها
    همه رویدادهای من
    تخفیف های وب سایت
    همه تخفیف ها

    عضویت در

    کانال تلگرام

    توسینسو

    اطلاعات مطلب
      مدرس/نویسنده
      علی سفیدموی
      امتیاز: 3633
      رتبه:117
      0
      14
      6
      30
      فارغ التحصیل رشته مهندسی سخت افزار دانشگاه شاهد هستم. به حوزه شبکه علاقه مند می باشم و دوره MCSE را در مجتمع فنی تهران شعبه ابن سینا گذرانده ام. به یادگیری و کار تیمی علاقه مند می باشم. در زمینه هایی از قبیل high availability و load balancing سرور های لینوکسی در شرکت ویراتک شریف دارای تجربه می باشم. علاقه مند به انجام پروژه در زمینه شبکه های کامپیوتری هستم. در حوزه برنامه نویسی و توسعه اپلیکیشن های تحت وب فعالیت داشته و دارم. به عنوان کاربر نویسنده نیز چندین مطلب تخصصی در حوزه فناوری اطلاعات در انجمن تخصصی فناوری اطلاعات ایران به ثبت رسانده ام. پروفایل کاربر

      ویدیوهای پیشنهادی

      معرفی واسط گرافیکی SFML برای نوشتن بازی و برنامه های مولتی مدیا

      تاریخ 36 ماه قبل
      نظرات 0
      بازدیدها 602
      سلام خدمت دوستان عزیز
      در این آموزش میخوایم با یکی از کتابخانه های گرافیکی برای زبان های برنامه نویسی معروف که SFML نامیده میشه آشنا بشیم:


      SFML چیست؟

      معرفی واسط گرافیکی SFML برای نوشتن بازی و برنامه های مولتی مدیا

      واسطی است که component های مختلفی رو برای سیستم شما فراهم می کنه که با اون نوشتن برنامه های گرافیکی و بازی برای برنامه نویس ها راحت تر هست و از پنج ماژول تشکیل شده : system،window،graphics،audio و network
      SFML به صورت Multi-platform ارائه شده است و بر روی سیستم عامل های Windows،Linux،Mac OS x قابل اجرا است و بزودی بر روی سیستم عامل Android و IOS قابل اجرا خواهدبود.
      همچنین این واسط به طور ویژه برای زبان های برنامه نویسی C و NET. ارائه شده و هم اکنون زبان های دیگر مثل JAVA و Python و... هم از این واسط بهره می برند.

      برای شروع :

      طبق Editor خاصی که استفاده می کنید باید تنظیمات SFML رو روی ادیتور انجام بدین.(از قبیل کپی کردن فایل های dll در فولدر پروژه،شناسایی فایل های کتابخانه به برنامه و...)
      برای مشاهده نحوه تنظیمات به لینک های زیر مراجعه کنید:
      SFML و Visual Studio
      SFML و Code
      SFML و Linux
      SFML و XCode

      مثال: کشیدن یک دایره در Visual Studio:

      بعد از انجام دادن تنظیمات در Visual Studio برای مثال به کشیدن یک دایره می پردازیم
      کد مورد نظر برای ما این کار را انجام می دهد:
      #include <SFML/Graphics.hpp>
      
      int main()
      {
          sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
          sf::CircleShape shape(100.f);
          shape.setFillColor(sf::Color::Green);
      
          while (window.isOpen())
          {
              sf::Event event;
              while (window.pollEvent(event))
              {
                  if (event.type == sf::Event::Closed)
                      window.close();
              }
      
              window.clear();
              window.draw(shape);
              window.display();
          }
      
          return 0;
      }
      
      نتیجه آن به صورت زیر خواهد بود:
      معرفی واسط گرافیکی SFML برای نوشتن بازی و برنامه های مولتی مدیا

      دیدید که چقدر راحت با استفاده از این واسط،این کار قابل انجام هست.

      توضیح مختصر ماژول ها:

      1.ماژول System :
      a)در این ماژول می تونیم کار هایی از قبیل handle کردن time رو انجام بدیم(مثلا ریستارت کردن بازی بعد از مدتی یا بعد از یک event خاص) و همچنین محاسبات زمانی خاص-تبدیلات زمانی و...
      b)یکی دیگه از قابلیت های این ماژول،کار با Thread ها است.همونطور که می دونین برای اجرای چندین عمل هم زمان باید از Thread توی برنامه مون استفاده کنیم.مثلا حرکت کردن چندین Object و انجام شدن چند رویداد در آن واحد و... این قابلیت در نوشتن بازی ها نمود بیشتری پیدا می کنه و خیلی استفاده میشه.
      c) قابلیت دیگه ای که در ماژول System گنجانده شده،User Data Stream هست.اگر برنامه ی مورد نظر ما نیاز به load شدن عکس،یا صدا و یا فونت از فایل خاصی داشته باشه،این قابلیت به ما کمک می کنه تا این کار رو انجام بدیم.تابعی که این کار رو برای ما انجام میده تابع loadFromFile هست.حتی این قابلیت وجود داره که بصورت مستقیم از حافظه با تابع loadFromMemory این کار رو انجام داد.
      2.ماژول Windows :
      a) نحوه ایجاد Window جدید در SFML و کنترل کردن آن
      b) کار با Event ها : یکی از قسمت های مهم این ماژول است که در اون می تونیم با رویداد های مختلفی مثل فشرده شدن یا رها شدن دکمه های کیبورد،ماوس و همچنین کار با joystick مواجه بشیم.
      c) کار با کتابخانه قدرتمند OpenGL در پروژه SFML هم در این ماژول فراهم شده.
      3.ماژول Graphics :
      a) کشیدن چیز های دو بعدی و نمایش Texture
      b) کشیدن نقطه،خط،اشکال هندسی منظم مانند مثلث و مربع و دیگر اشکال هندسی که در کلاس های sf::Quads ، sf::Triangles ، sf::Lines ، sf::Points این قابلیت ها گنجانده شده.
      c) کشیدن نقشه بازی مورد نظرمان که توسط آرایه های خاصی که ارائه شده است.
      معرفی واسط گرافیکی SFML برای نوشتن بازی و برنامه های مولتی مدیا

      d) دادن position ، scale و rotate کردن عکس یا text مورد نظر
      معرفی واسط گرافیکی SFML برای نوشتن بازی و برنامه های مولتی مدیا

      e) کنترل کردن نمایش تصویر دوبعدی با استفاده از کلاس sf::View
      معرفی واسط گرافیکی SFML برای نوشتن بازی و برنامه های مولتی مدیا

      بعد از حرکت روی entity مورد نظر:
      معرفی واسط گرافیکی SFML برای نوشتن بازی و برنامه های مولتی مدیا

      4.ماژول Audio :
      a) پخش صدا و موزیک با استفاده از کلاس های sf::Sound و sf::Music
      record (b کردن صدا
      5.ماژول Network:
      a) برقراری ارتباط از طریق Socket(مثلا نوشتن برنامه چت)
      b) استفاده و کار با Packet ها
      c) کار با request های سرور های ftp و http
      آشنایی بیشتر و یادگیری SFML

      موفق باشید.
      برچسب ها
      مطالب مرتبط

      در حال دریافت اطلاعات

      نظرات
      هیچ نظری ارسال نشده است

        برای ارسال نظر ابتدا به سایت وارد شوید