۴ مطلب با کلمه‌ی کلیدی «بستن برنامه ی SDL1.2» ثبت شده است

کشیدن شکل های مختلف در صفحه با SDL_gfx1.2

سلام!

این جلسه قرار است کشیدن چند شکل را روی صفحه یاد بگیریم.

برای این کار به کتاب خانه ی SDL_gfxPrimitives.h احتیاج دارید.

#include "SDL/SDL_gfxPrimitives.h"

این کتاب خانه شامل توابع مختلفی برای کشیدن شکل های مختلف است. این توابع را به همراه راهنمای استفاده از آن ها می توانید در ادامه مشاهده کنید. خروجی تمامی توابع زیر در صورت موفقیت ۰ و در غیر این صورت -۱ خواهد بود.

ورودی آخر تمامی توابع میزان شفافیت رنگ را مشخّص می کند. در صورتی که این مقدار برابر با ۲۵۵ باشد، رنگ کامل است. هر چه این مقدار کم تر باشد، رنگ های زیری بیشتر معلوم می شوند.

۰ نظر موافقین ۰ مخالفین ۰
روزبه صیادی

Handle کردن event های مربوط به کیبورد با SDL1.2

سلام!

این جلسه می خواهیم event های مربوط به keyboard را مورد بررسی قرار دهیم.

اگر event اتفاق افتاده مربوط به فشردن یک دکمه از کیبورد باشد، آن گاه مقدار event.type برابر با SDL_KEYDOWN خواهد بود. در این صورت در event.key.keysym.sym دکمه ی فشرده شده قرار خواهد گرفت. به عنوان مثال می خواهیم ببینیم که آیا کاربر دکمه ی escape را فشار داده است یا نه؛

if ( event.type == SDL_KEYDOWN )
    if ( event.key.keysym.sym == SDLK_ESC )
        cout << "Escaped!" << endl;

لیست کامل مقادیر ممکن برای event.key.keysym.sym را می توانید در این جا مشاهده کنید.

اگر event ای که اتفاق افتاده است، رها کردن یک دکمه از کیبورد باید، آن گاه مقدار event.type برابر با SDL_KEYUP خواهد بود. اگر این اتّفاق بیافتد، باز هم کلید رها شده در event.key.keysym.sym موجود است. به عنوان مثال به کد زیر توجّه کنید.

۰ نظر موافقین ۰ مخالفین ۰
روزبه صیادی

پاسخ تمرین سری قبل

سلام!

پاسخ تمرین سری قبل را می توانید در کد زیر مشاهده کنید؛

۰ نظر موافقین ۰ مخالفین ۰
روزبه صیادی

اوّلین برنامه با SDL1.2 - قسمت سوم

سلام!

این مطلب،‌ آخرین مطلب این سری آموزش ها خواهد بود؛ از جلسه ی بعد وارد مبحث جدیدی از SDL می شویم.

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

تا این جا این کد را نوشته ایم.

بعد از این که کارتان با SDL تمام شد، اوّلین کاری که باید انجام دهید، Free کردن *SDL_Surface هایتان است.

۲ نظر موافقین ۰ مخالفین ۰
روزبه صیادی