لینک کوتاه مطلب : https://hsgar.com/?p=4474

یادگیری مفهومی کتابخانه SDL2

زیاد حس نوشتن ندارم، ولی به هر حال چون این سایت باید به روز بماند پس حسب حال می‌نگارم. نه اینکه موضوع برای نوشتن نداشته باشم و یا اینکه ندانم که بخواهم چه بنویسیم بلکه همه چیز حی و مهیاست، اما مشغله‌های فراوان و تلاش برای یادگیری برنامه‌نویسی فرصت چندانی برای مرتب کردن رشته‌های افکار و نوشتن یک مقاله زنده ندارم.

ولی خوب برویم سراغ اصل مطلب که در اینجا آموزش SDL است. برای آموزش SDL قصد داشتم تا با استفاده از سایت lazyfoo دانسته‌هایم را ادغام کرده و آموزشی هر چند ناقص تحویل دهم. ولی پس از آنکه مسیر نه چندان سخت یادگیری SDL را پیمودم اینگونه به من القا شد که خود از خود آن چیزها را که می‌دانم به صورت کل بیاورم.

به طور کل، SDL یک کتابخانه گرافیکی است. همانطور که قبلا گفتم برای ایجاد برنامه‌های گرافیکی تقریبا راهی جز استفاده از کتابخانه‌های آماده شده نیست و SDL یکی از آن‌ها است.

برای یادگیری SDL ابتدا باید مفهوم آن را درک کنید، و پس از درک مفهوم چیزی دیگری برای یادگیری باقی نمی‌ماند.

در SDL چند تا زیرسیستم داریم که باید راه‌اندازی شود که راه‌اندازی آن در جلسات قبل گفته شد و البته چندان ربطی به مفهوم آن ندارد پس من چشم روی آن می‌بندم و چشم روی مفاهیم باز می‌کنم.

در SDL یک رندر داریم که یک نوع ساختار است به نام SDL_Render این رندر بیانگر چگونگی نمایش است.

این نمایش در چیزی به نام ویندو یا پنجره نشان داده می‌شود. پس غیر از رندر یک SDL_Window نیز داریم که این نیز یک ساختار است.

تا اینجا اینجوری شد که ابتدا می‌آییم یک پنجره ایجاد می‌کنیم و یک نمایش یا رندر می‌سازیم و آن رندر را در پنجره نشان می‌دهیم. خوب شاید بپرسید چطور رندر را تعریف کنیم و چطور در پنجره نشان دهیم این کارها همه‌اش با توابعی است که SDL برای این کار طراحی کرده است.

این پنجره و رندر برای ایجاد برنامه کافی است اما وافی نیست. برای اینکه کافی‌تر بشود. surface یا سطح و texture تکسژر داریم که دقیقا عین هم هستند با این تفاوت که تکسژر سریع‌تر است. ناگفته نماند که این‌ها هم ساختار هستند. خوب کار این سطح و تکسژر چی است. گفتیم که یک پنجره طراحی کردیم، حالا این پنجره خودمان روی هر سطحی که خواستیم می‌گذاریم خوب طبیعتا هر چیزی که در آن سطح است در پنجره نشان داده می‌شود. این دقیقا همان surface و texture است.

یک ساختار دیگر داریم که SDL_Rect نام دارد این ساختار که زیاد استفاده می‌شود می‌آید یک مستیطیل تحویل ما می‌دهد.

خوب حالا برای درک بهتر یک مثال می‌زنم که البته مثال نیست بهتر است بگویم یک تشریح می‌آورم.

من می‌آیم یک مستیطل می‌سازم، آن را در رندر قرار می‌دهم. رندر را در پنجره نشان می‌دهم. بعدش می‌روم پنجره را روی یک سطح می‌گذارم. این می‌شود یک برنامه.

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.