SFML لـ C++: دليل شامل مع أمثلة

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

مقدمة في SFML: ما هو ولماذا تحتاجه

\n\n

SFML (مكتبة الوسائط المتعددة البسيطة والسريعة) هي مكتبة وسائط متعددة متعددة المنصات للغات C++ و C، مصممة لتطوير الألعاب والتطبيقات الرسومية والبرامج التفاعلية. توفر للمطورين واجهة بسيطة وبديهية للعمل مع الرسومات والصوت والشبكة والنوافذ والإدخال من لوحة المفاتيح/الفأرة.

\n\n

SFML هو الخيار الأمثل للمطورين المبتدئين وذوي الخبرة الذين يرغبون في إنشاء ألعاب وتطبيقات ثنائية الأبعاد بسرعة دون الحاجة إلى التعمق في واجهات برمجة التطبيقات منخفضة المستوى مثل OpenGL أو DirectX. تقوم المكتبة بتجريد التفاصيل المعقدة للعمل مع الأجهزة الرسومية، مع توفير مرونة كافية لتنفيذ التأثيرات المتقدمة.

\n\n

الإمكانيات الرئيسية لـ SFML:

\n
    \n
  • الرسومات: عرض الصور ثنائية الأبعاد والأشكال والنصوص والأنسجة بتسريع الأجهزة.
  • \n
  • النوافذ والإدخال: إنشاء النوافذ، معالجة أحداث الفأرة ولوحة المفاتيح وعصا التحكم.
  • \n
  • الصوت: تشغيل الأصوات والموسيقى بتنسيقات WAV و OGG و FLAC.
  • \n
  • الشبكة: العمل مع مآخذ TCP/UDP وطلبات HTTP و FTP.
  • \n
  • الأدوات النظامية: العمل مع الوقت والخيوط والملفات والسلاسل النصية.
  • \n
\n\n

يتم توزيع SFML بموجب ترخيص zlib/png، مما يسمح باستخدامها في المشاريع التجارية دون قيود. تدعم المكتبة أنظمة Windows و Linux و macOS وبعض المنصات المحمولة.

\n\n

تثبيت SFML

\n\n

على عكس Python، لا يوجد أمر واحد pip install لـ C++. يتطلب تثبيت SFML إعدادًا يدويًا اعتمادًا على نظام التشغيل وبيئة التطوير المتكاملة (IDE) الخاصة بك.

\n\n

التثبيت على Windows (Visual Studio)

\n
    \n
  1. قم بتنزيل أحدث إصدار من SFML من الموقع الرسمي sfml-dev.org (اختر الإصدار الخاص بـ Visual C++).
  2. \n
  3. قم بفك ضغط الأرشيف في مكان مناسب، مثل C:\\SFML.
  4. \n
  5. افتح Visual Studio، وأنشئ مشروع C++ جديد.
  6. \n
  7. انتقل إلى Project → Properties:\n
      \n
    • C/C++ → General → Additional Include Directories: أضف C:\\SFML\\include.
    • \n
    • Linker → General → Additional Library Directories: أضف C:\\SFML\\lib.
    • \n
    • Linker → Input → Additional Dependencies: أضف sfml-graphics.lib; sfml-window.lib; sfml-system.lib (لإصدار Debug استخدم sfml-graphics-d.lib وهكذا).
    • \n
    \n
  8. \n
  9. انسخ ملفات DLL من C:\\SFML\\bin إلى المجلد الذي يحتوي على ملفك القابل للتنفيذ.
  10. \n
\n\n

التثبيت على Linux (Ubuntu/Debian)

\n
sudo apt update\nsudo apt install libsfml-dev
\n

للتجميع، استخدم أعلام الربط:

\n
g++ main.cpp -o app -lsfml-graphics -lsfml-window -lsfml-system
\n\n

التثبيت على macOS (Homebrew)

\n
brew install sfml
\n

التجميع:

\n
g++ main.cpp -o app -I/usr/local/include -L/usr/local/lib -lsfml-graphics -lsfml-window -lsfml-system
\n\n

بداية سريعة: أول برنامج في SFML

\n\n

لنقم بإنشاء نافذة بسيطة بدائرة خضراء. يوضح هذا المثال البنية الأساسية لأي تطبيق SFML: إنشاء نافذة، حلقة اللعبة، ومعالجة الأحداث.

\n\n
#include <SFML/Graphics.hpp>\n\nint main() {\n    // إنشاء نافذة بحجم 800x600 بكسل مع عنوان "SFML App"\n    sf::RenderWindow window(sf::VideoMode(800, 600), "SFML App");\n\n    // إنشاء دائرة نصف قطرها 50 بكسل\n    sf::CircleShape circle(50.0f);\n    circle.setFillColor(sf::Color::Green);  // لون أخضر\n    circle.setPosition(375.0f, 275.0f);     // الموضع في وسط النافذة\n\n    // حلقة اللعبة الرئيسية\n    while (wind                    

توصيات