۱۲ مطلب در ارديبهشت ۱۳۹۴ ثبت شده است

اوّلین برنامه با 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

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

کتاب خانه ی SDL، کتاب خانه ای برای کارهای گرافیکی

سلام!

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

یکی از بهترین گزینه ها، کتاب خانه ی SDL (مخفف Simple DirectMedia Layer) است. این کتاب خانه (و کتاب خانه های دیگری که بر اساس این کتاب خانه به وجود آمده اند) به شما امکان ایجاد یک محیط گرافیکی را می دهند که بسیار سریع است. زیرا به جای این که از cpu استفاده کند، از کارت گرافیک برای اجرا شدن استفاده می کند. ضمنا تغییرات صفحه را نشان می دهد، کلّ صفحه را از اوّل رنگ آمیزی نمی کند.

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

اشاره گر (pointer) - مباحث تکمیلی

سلام!

بعد از مدت زیادی آموختن برنامه نویسی شی گرا، حال بیایید به یکی از مباحث اولیّه ی وبلاگ (یعنی اشاره گر ها) رجوع کرده و آن را کامل کنیم.

همان طور که در آن مطلب متوجه شدید، اگر هنگام تعریف متغیر، قبل از اسم آن یک * اضافه کنیم، آنگاه می توانیم در آن آدرس یک متغیر را ذخیره کنیم. حالا به کد زیر دقت کنید؛

int **a;

حالا در این متغیر آدرس یک *int ذخیره شده است. یعنی اگر در برنامه ی خود بنویسید

cout << *a;

خروجی برنامه یک آدرس خواهد بود. این برنامه را می توانید در این جا مشاهده کنید.

کاربرد اصلی این کار در ایجاد آرایه های چند بعدی است که آن را در ادامه آموزش می دهیم.

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