นักพัฒนาที่อยู่เบื้องหลังโครงการ Simple DirectMedia Layer หรือที่รู้จักกันดีในชื่อ "SDL" เปิดตัวเมื่อไม่กี่วันก่อนการประกาศการเปิดตัว SDL 2.0.12 เวอร์ชันใหม่ซึ่งส่วนใหญ่มาจากการเพิ่ม el รองรับตัวควบคุมวิดีโอเกมต่างๆ ตลอดจนคุณสมบัติเพิ่มเติมบางอย่างในไลบรารีนี้ออกแบบมาเพื่อลดความซับซ้อนในการเขียนเกมและแอพพลิเคชั่นมัลติมีเดีย
สำหรับผู้ที่ไม่ทราบเกี่ยวกับห้องสมุด SDL คุณควรรู้ว่าสิ่งนี้ มีเครื่องมือเช่นฮาร์ดแวร์เร่งเอาต์พุตกราฟิก 2D และ 3D, การประมวลผลอินพุต, การเล่นเสียง, เอาต์พุต 3 มิติผ่าน OpenGL / OpenGL ES และการดำเนินการอื่น ๆ ที่เกี่ยวข้อง
เอสดีแอล เข้ากันได้อย่างเป็นทางการกับ Windows, MacOS X, Linux, iOS และ Android แม้ว่าจะมีการรองรับแพลตฟอร์มอื่น ๆ เช่น QNX นอกเหนือจากสถาปัตยกรรมและระบบอื่น ๆ เช่น Sega Dreamcast, GP32, GP2X เป็นต้น
DirectMedia Layer อย่างง่าย เขียนด้วยภาษา C ทำงานร่วมกับ C ++ และมีลิงก์สำหรับภาษาอื่น ๆ หลายภาษารวมถึง C # และ Python ซึ่งเผยแพร่ภายใต้ใบอนุญาต zlib ใบอนุญาตนี้อนุญาตให้คุณใช้ SDL ได้อย่างอิสระในซอฟต์แวร์ใด ๆ
แม้จะมีการตั้งโปรแกรมด้วยภาษา C แต่ก็มีการห่อหุ้มสำหรับภาษาโปรแกรมอื่น ๆ เช่น C ++, Ada, C #, BASIC, Erlang, Lua, Java, Python เป็นต้น
มีอะไรใหม่ใน Simple DirectMedia Layer 2.0.12
ด้วยการเปิดตัวไลบรารีเวอร์ชันใหม่นี้นักพัฒนากล่าวถึงความแปลกใหม่หลักของไฟล์ เข้ากันได้กับตัวควบคุมเกม Nintendo GameCube และตัวบ่งชี้ SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE เพื่อตรวจสอบความเป็นจริงของการใช้งานจะถูกเพิ่มเข้าไปในตัวควบคุม HIDAPI HIDAPI ได้ปรับปรุงการรองรับ Xbox 360 และ Xbox One;
นอกเหนือจากการกล่าวถึงงานที่ทำเพื่อเพิ่มไฟล์ การสนับสนุนสำหรับตัวควบคุมเกม:
- 8BitDo FC30 โปร
- 8BitDo M30 เกมแพด
- ไฟท์แพด BDA PS4
- โฮริ ผู้บัญชาการการต่อสู้
- Hyperkin duke
- ไฮเปอร์กิน X91
- MOGA XP5-A พลัส
- นาคอน GC-400ES
- NVIDIA คอนโทรลเลอร์ v01.04
- PDP กับ Fighting Pad
- Razer Raion Fightpad สำหรับ PS4
- เซิร์ฟเวอร์ Razer
- Stadia Controller
- SteelSeries Stratus Duo
- Victrix Pro Fight Stick สำหรับ PS4
- เอกซ์บอกซ์วันอีลิทซีรีส์ 2
นอกเหนือจากนั้น, มีการเพิ่มฟังก์ชัน SDL_GetTextureScaleMode () และ SDL_SetTextureScaleMode () เพื่อรับและตั้งค่าโหมดมาตราส่วนที่ใช้สำหรับพื้นผิว ฟังก์ชั่น SDL_LockTextureToSurface () คล้ายกับ SDL_LockTexture () แต่ถือว่าพื้นที่ที่ถูกล็อกเป็น SDL Surface และเพิ่มโหมดการผสมใหม่ SDL_BLENDMODE_MUL
ฟังก์ชัน SDL_GameControllerTypeForIndex () ให้ข้อสรุปเกี่ยวกับประเภทของตัวควบคุมเกม (Xbox 360, Xbox One, PS3, PS4, Nintendo Switch Pro)
เพิ่มฟังก์ชั่น SDL_JoystickFromPlayerIndex (), SDL_JoystickSetPlayerIndex (), SDL_GameControllerSetPlayerIndex () และ SDL_GameControllerFromPlayerIndex () เพื่อกำหนดและติดตั้งอุปกรณ์ที่เกี่ยวข้องกับดัชนีของผู้เล่น
ในขณะที่ สำหรับ Android เพิ่มความสามารถในการจับเสียงโดยใช้ OpenSL-ES และ รองรับการใช้ Bluetooth Steam Controller เป็นตัวควบคุมเกม
จากการเปลี่ยนแปลงอื่น ๆ ที่กล่าวถึง:
- เพิ่มมาโคร SDL_zeroa () ให้กับอาร์เรย์ขององค์ประกอบเป็นศูนย์
- เพิ่มฟังก์ชัน SDL_HasARMSIMD () เพื่อกำหนดการรองรับคำสั่ง ARM SIMD บน ARMv6 + CPU
- สำหรับระบบ Linux คุณลักษณะ. SDL_HINT_VIDEO_X11_WINDOW_VISUALID (นิยามของตัวระบุเอาต์พุตสำหรับหน้าต่าง X11 ใหม่) และ SDL_HINT_VIDEO_X11_FORCE_EGL (ตัวเลือกในการใช้ GLX หรือ EGL สำหรับ X11)
จะติดตั้ง Simple DirectMedia Layer บน Linux ได้อย่างไร?
การติดตั้งไลบรารีนี้บน Linux นั้นค่อนข้างง่ายเนื่องจากลีนุกซ์ส่วนใหญ่มีไลบรารีอยู่ในที่เก็บ
ในกรณีของ Debian, Ubuntu และการกระจายที่ได้มาจากสิ่งเหล่านี้คุณจะต้องเรียกใช้เท่านั้น คำสั่งต่อไปนี้ในเทอร์มินัล:
sudo apt-get install libsdl2-2.0 sudo apt-get install libsdl2-dev
ในขณะที่กรณีของผู้ที่เป็นคุณArch Linux suarios เราต้องเรียกใช้สิ่งต่อไปนี้:
sudo pacman -S sdl2
ในกรณีของผู้ที่เป็นผู้ใช้ Fedora, Centos, RHEL หรือการกระจายใด ๆ ตามพวกเขา พวกเขาต้องรันคำสั่งต่อไปนี้:
sudo yum install SDL2 sudo yum install SDL2-devel
สำหรับลีนุกซ์รุ่นอื่น ๆ ทั้งหมดพวกเขาสามารถค้นหาแพ็คเกจ "sdl" หรือ "libsdl" เพื่อติดตั้งหรือดาวน์โหลดและรวบรวมซอร์สโค้ด
พวกเขาทำสิ่งนี้กับ:
hg clone https://hg.libsdl.org/SDL SDL cd SDL mkdir build cd build ./configure make sudo make install