۲۲ مطلب با موضوع «SDL1.2» ثبت شده است

Handle کردن event ها در SDL1.2

سلام!

موضوع این مطلب، event های SDL است. برای شناختن event ها به تعریف دقیقی نیاز ندارید. برای شناختن مفهوم آن کافی است که بدانید که حرکت ماوس، فشردن یک دکمه از keyboard و یا رهاسازی آن همگی نوعی event هستند.

SDL تمامی event هایی را که برای پنجره اش اتّفاق می افتد، در یک صف ذخیره می کند (به طوری که اوّلین event صف، event ای است که زودتر از همه اتفاق افتاده است.).

SDL نوع جدیدی از متغیّر را تعریف کرده است که می توان در آن یک event را ذخیره کرد.

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

به دست آوردن زمان با SDL1.2

سلام!

این جلسه می خواهیم با دستور های موجود در SDL1.2 یک Timer بنویسیم. اوّل از همه با تابع زیر آشنا شوید؛

Uint32 SDL_GetTicks();

این تابع مقدار زمانی را که از Initialize کردن SDL می گذرد را در قالب میلی ثانیه برمی گرداند. پس دقت داشته باشید که اگر خروجی این تابع مقداری منفی یا نامربوط بود، حتما SDL را Initialize نکرده اید.

خب، حالا می خواهیم Timer را پیاده سازی کنیم.

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

Load کردن فرمت های دیگر عکس با SDL1.2

سلام!

در جلسات پیش با طرز load کردن یک عکس BMP بر روی یک *SDL_Surface آشنا شدید. این جلسه می خواهیم طرز load کردن بیشتر فرمت های عکس آشنا شویم.

برای این کار ابتدا باید SDL_image.h را include کنید؛

#include "SDL/SDL_image.h"
۰ نظر موافقین ۰ مخالفین ۰
روزبه صیادی

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

سلام!

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

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

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

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

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

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

سلام!

جلسه ی پیش با روش ایجاد یک پنجره در SDL آشنا شدید. این جلسه می خواهیم طرز نشان دادن یک تصویر در آن پنجره را به شما نشان دهیم.

همان طور که جلسه ی پیش متوجّه شدید، می توان در یک SDL_Surface پنجره را ذخیره کرد. در این نوع از متغیر، می توان یک عکس هم ذخیره کرد. SDL برای Load کردن یک عکس با فرمت BMP یک تابع دارد با مشخّصات زیر؛

SDL_Surface *SDL_LoadBMP( const char *fileAddress );

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

"/path/to/image.bmp"

بود، آن گاه باید همین آدرس را به تابع ورودی دهید. مثل مثال زیر؛

SDL_Surface *image = SDL_LoadBMP( "/path/to/image.bmp" )

;

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

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

سلام!

جلسه ی پیش با کتاب خانه ی SDL و مقدمات آن آشنا شدیم. حالا می خواهیم اوّلین برنامه ی خود را با کتاب خانه ی SDL بنویسیم. هدف این برنامه ایجاد یک پنجره (window) و نمایش یک عکس بر روی آن است.

اوّل از همه باید کتاب خانه های مورد نیاز را include کنید. در این جلسه فقط نیاز به کتاب خانه ی SDL.h داریم. آن را مانند کد زیر include کنید؛

#include "SDL/SDL.h"

قبل از انجام هر کاری با این کتاب خانه، باید SDL را Initialize کنید. برای این کار از دستور زیر استفاده کنید؛

SDL_Init( SDL_INIT_EVERYTHING );

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

کامپایل برنامه های SDL1.2

سلام!

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

برای کامپایل این برنامه ها باید SDL را به برنامه ی خود لینک کنید. فعلا فرض کنید که یک برنامه ی ساده نوشته اید. کد کامپایل آن چیزی شبیه کد زیر است؛

g++ example.cpp -o example -g -Wall

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