Pemrograman SDL

Dari IgosCenter

Langsung ke: Navigasi, Cari

SDL (Simple Directmedia Layer) adalah pustaka pemrograman grafik yang sederhana, namun tepat guna untuk pemrograman games.

Daftar isi

Pustaka Pemrograman

Dalam khasanah pemrograman, pustaka (library) adalah kode bantu yang bukan bagian inti suatu bahasa, namun bisa dipakai oleh program utama (yang kita buat). Bahasa C sudah menyertakan banyak pustaka standar, seperti:

  • stdlib : standar operasi umum.
  • stdio: standar operasi masukan luaran.
  • math: pustaka fungsi-fungsi matematika.
  • masih banyak lagi.

Nah, SDL adalah pustaka bukan standar C untuk operasi grafik, khususnya pembuatan games. Inti dari SDL dibuat oleh Sam Latinga, kemudian banyak hacker lain turut membantu. Karena itu SDL ini menjadi keluarga besar dengan berbagai pustaka:

  • SDL : pustaka inti
  • SDL_image : untuk menangani berbagai format image.
  • SDL_mixer : menyediakan operasi suara.
  • SDL_ttf : menyediakan operasi menulis teks dengan true type font.
  • Sprig : menyediakan pustaka untuk menggambar bentuk-bentuk dasar dan transformasi image.

Untuk latihan ini kita akan menggunakan pustaka SDL_Wayang, pustaka khusus yang menyediakan framework mirip panggung wayang kulit. Layanan yang disediakan adalah:

  • Beber: latar belakang.
  • Wayang: image yang bisa bergerak diatas Beber.
  • Sinden: penyanyi.
  • Dalang: pengendali utama.

Untuk melakukan pemrograman ini, pada UBuntu install dulu berbagai paket SDL beserta versi dev-nya.

Alat Pemrograman

Untuk pemrograman, kita bisa pakai Netbeans IDE maupun Code Blocks IDE. Yang harus dipastikan adalah mendaftarkan semua pustaka SDL yang diperlukan di proyek yang bersangkutan. Dalam hal ini, Code Blocks sudah menyediakan template khusus untuk pemrograman SDL.

SDL Wayang

Struktur Dasar

Struktur dasar suatu program SDL, khususnya dengan pustaka SDL_Wayang adalah sebagai berikut

/*
 * Program dasar memakai SDL_Wayang
 */
 
// Muat pustaka yang diperlukan
#include <stdlib.h>
#include <SDL.h>
#include <SDL_image.h>
#include "sprig/sprig.h"
#include "nfont/nfontc.h"
#include "wayang/wayang.h"
 
// Program utama
int main ( int argc, char** argv )
{
    // Mulai membuka beber
    bStart(800, 600);
 
    // wayang main di sini
    bLoadImage("beber_01.jpg");
 
    // Selesai
    bFinish();
    return 0;
}

Selain adanya tambahan banyak pustaka dengan #include, program utamanya sederhana bukan ?

Beber (Latar Belakang)

Beber adalah layar tempat wayang dimainkan. Pada suatu program, hanya ada satu beber yang menyediakan layanan:

  • Inisialisasi layar grafik.
  • Memuat gambar untuk latar belakang.
  • Menggambar di latar belakang dengan bentuk dasar yaitu: titik, garis, bujur sangkar, persegi panjang, lingkaran, dan elips.
  • menulis teks

Ini contoh cara memakainya:

// Muat pustaka yang diperlukan
#include <stdlib.h>
#include <SDL.h>
#include <SDL_image.h>
#include "sprig/sprig.h"
#include "nfont/nfontc.h"
#include "wayang/wayang.h"
 
// Program utama
int main ( int argc, char** argv )
{
    // Mulai membuka beber
    bStart(800, 600);
 
    // siapkan latar belakang
    bLoadImage("beber_01.jpg");
 
    // Buat gambar
    bRectangle(0,0,100,-200);
    bFillRectangle(0,0,-300,-200);
    bCircle(0,0,10);
 
    // Selesai
    bFinish();
    return 0;
}

Wayang (Gambar Bergerak)

Dalang (Pengendali Event)

Sinden (Penyanyi)

Aplikasi


Kontributor: Kocil

(c) Igos Center Bandung, 2009