Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Web Analytics
Cookie Policy Terms and Conditions Simple DirectMedia Layer – Wikipedia tiếng Việt

Simple DirectMedia Layer

Bách khoa toàn thư mở Wikipedia

Simple DirectMedia Layer (thường được viết tắt là SDL) là một thư viện lập trình có khả năng trừu tượng hóa các phần cứng đồ họa, âm thanh hay thiết bị vào và ra. Thư viện này giúp các lập trình viên viết các chương trình giải trí hay các ứng dụng đa phương tiện (multimedia) trên nhiều hệ điều hành khác nhau như: GNU/Linux, Windows, Mac OS Classic, Mac OS X, BeOS và một vài hệ điều hành không chính thức khác. Qua thư viện này, lập trình viên có thể điều khiển phần hiển thị, sự kiện, âm thanh, ổ dĩa CD-ROM, thread và đồng hồ đo giờ.

Mục lục

[sửa] Lịch sử

Sam Lantinga là người tạo ra thư viện này vào năm 1998, lúc ông còn làm cho hãng Loki Software. Ông nảy ra ý định này khi mang các chương trình Windows vào môi trường Macintosh. Sau đó ông dùng thư viện này để đem chương trình giải trí Doom sang hệ điều hành BeOS (Xem mã nguồn của chương trình Doom). Một vài thư viện tự do khác như SMPEG và OpenAL có thể hoạt động chung với SDL.

SDL được chia thành nhiều hệ thống con (subsystem) như : Video, Audio, CD-ROM, Joystick và Timer. Bên cạnh những hệ thống con cơ bản này, do đây là thư viện cấp thấp, còn có một số thư viện chính thức riêng biệt, cung cấp các chức năng khác. Bao gồm:

  • SDL_image: cung cấp các hàm để load các định dạng ảnh phổ biến ngày nay.
  • SDL_mixer: các hàm audio phức tạp, được dùng để hòa âm (mixing)
  • SDL_net: hỗ trợ lập trình mạng.
  • SDL_ttf: hỗ trợ hiển thị ttf (true type font)
  • SDL_rtf: hỗ trợ hiển thị định dạng rtf đơn giản

[sửa] Sơ lược

Đây là thư viện đa phương tiện, đa nền (cross-platform), được thiết kế để cung cấp sự truy cập ở mức cấp thấp đến âm thanh, hình ảnh, bàn phím, chuột , cần điều khiển game (joystick), phần cứng 3D (3D hardware)... thông qua OpenGL và 2D video framebuffer.

SDL hỗ trợ các hệ điều hành sau: Linux, Windows, Windows CE, BeOS, MacOS, MacOS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX và QNX. Ngoài ra còn hỗ trợ một số hệ điều hành khác như: AmigaOS, Dreamcast, Atari, AIX, OSF/Tru64, RISC OS, SymbianOS và OS/2 nhưng không chính thức.

Thư viện SDL được viết bằng C chuẩn, nhưng hỗ trợ tốt với C++ và nhiều ngôn ngữ lập trình khác như: Ada, C#, Eiffel, Erlang, Euphoria, Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, Pike, Pliant, Python, Ruby và Smalltalk.

[sửa] Kiến trúc

Kiến trúc thư viện SDL
Kiến trúc thư viện SDL

SDL thực sự là một gói bao bọc (wrapper) xung quanh các chức năng xác định nào đó của hệ điều hành. Mục đích chính của SDL là một framework phổ biến cho việc truy cập chức năng nói trên.

Do cách thiết kế của SDL, hầu hết source code của thư viện được tách thành nhiều module cho từng hệ điều hành. Khi SDL được biên dịch cho một hệ điều hành, các module thích hợp được chọn cho hệ điều hành đó.

Từ hình trên ta có thể thấy, đối với hệ điều hành Windows, SDL thật sự bao bọc xung quanh DirectX. Phiên bản cũ của SDL được sử dụng với DirectX 5. Phiên bản ổn định hiện tại của SDL đòi hỏi sử dụng DirectX 7. Trên nền X11, bao gồm Linux, SDL sử dụng Xlib để giao tiếp với hệ thống X11 khi làm việc với đồ họa và sự kiện.

[sửa] Hướng dẫn cài đặt SDL.NET

Hiện nay thư viện SDL đã có hỗ trợ Visual Studio .NET 1.1 (2003) và Visual Studio .NET 2.0 (2005). Các phiên bản hỗ trợ:

  • Phiên bản SDL.NET 4.0.x dùng cho phiên bản .NET 2003
  • Phiên bản SDL.NET 5.0.0 dùng cho phiên bản .NET 2005
  1. Tải thư viện SDL.NET từ trang webs [1]
  2. Giải nén file sdlnet-5.0.0 vào một thư mục (gọi là sdlnet-5.0.0) trên ổ cứng
  3. Chép các file từ thư mục ../sdlnet-5.0.0/bin/win32deps vào thư mục C:\WINDOWS\system32 (ở đây ta giả sử hệ điều hành được cài trên ổ đĩa C).

Đến đây ta đã cài đặt xong thư viện SDL.NET trên máy tính. Tuy nhiên, để chương trình có thể hiểu được thư viện SDL, cần phải Add References đến các file dll như sau:

  • Từ tab Solution Explorer, chọn References,
  • Nhấn phải chuột->Add Reference...->Chọn tab Browse
  • Chọn đường dẫn đến file SdlDotNet.dll và Tao.Sdl.dll từ thư mục sdldotnet-5.0.0/bin/assemblies (thư mục đã giải nén phía trên)
  • Chọn OK.

Chú ý: Việc cài thư viện SDL.NET hỗ trợ .NET 2003 hoàn toàn tương tự. Có thể dùng Installer bằng cách download file SdlDotNet-4.0.x-x-sdk-setup.exe từ địa chỉ trên.

[sửa] Cách sử dụng

Sẽ được bổ sung sau.Hiện thời tác giả đang bận nên chưa thể đưa lên đầy đủ được.

[sửa] Liên kết ngoài

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu