Tuesday, 7 September 2010

Segitiga dari Kotak (2)

Tulisan ini merupakan lanjutan dari:
Segitiga dari Kotak (1)

Ada sesuatu yang menarik dari program SDL yang satu ini, yaitu kehadiran pustaka (library) "windows.h". Untuk apa pustaka ini? Tentunya untuk membuat program - program pada Sistem Operasi (SO) Windows atau yang biasa disebut "Win32 Application". Kehadirannya disini berfungsi untuk memanggil fungsi "MessageBox()", sebuah fungsi yang akan menciptakan "Kotak" yang berisi "Pesan", seperti gambar berikut:

Argumen kedua berfungsi menampilkan teks dalam kotak, argumen ketiga merupakan caption/judul pada kotak. Dan argumen keempat untuk memberikan tanda (flag) apa saja yang akan tampil di Kotak Pesan kita. Tentu tanda yang diberikan terbatas. Lalu argumen pertama untuk apa? saat ini belum bisa berkomentar banyak . Sehingga fungsi ini mempermudahkan kita dalam menyampaikan pesan tentang penggunaan program (SDL) atau kontrol program buatan kita. Karena program yang dibuat masih sederhana dan hanya menggunakan panah kiri dan kanan sebagai kontrolnya. Tentu cara ini lebih cepat dibanding membuat sebuah surface dari font dengan memanggil SDL_ttf dan segala bentuk inisialisasi dasarnya (TTF_Init(), TTF_Font, dll). Atau menampilkan gambar sebagai informasi penggunaan atau kontrol program, yang semuanya ini tidak 'murah' perlu SDL_image untuk pemanggilan gambar bertipe (.jpg, .png, dsb).

Tetapi karena pustaka ini untuk SO Windows, jadi kemungkinan besar tidak berjalan (dengan mulus) di SO lainnya misal Linux. Sehingga cara yang tidak 'murah' tersebut lebih memuaskan daripada cara 'instan'. Itulah mengapa makanan instan (Fast Food, umumnya juga disebut Junk Food) itu tidak disarankan, lho? . Tapi jika anda masih tetap ngotot ingin menampilkan informasi penggunaan program tanpa pustaka windows dan SDL_ttf atau SDL_image, dapat menggunakan file gambar berformat bitmap (.bmp). Karena file bitmap merupakan format dasar gambar yang tidak terkompresi, sehingga penggunaan SDL.h -pun sudah dapat menampilkannya, berikut contoh potongan kodenya (Aku ambil dari template Code::Blocks):


...
    // load an image
    SDL_Surface* bmp = SDL_LoadBMP("infoProgram.bmp");
    if (!bmp)
    {
        printf("Unable to load bitmap: %s\n", SDL_GetError());
        return 1;
    }
    
    // centre the bitmap on screen
    SDL_Rect dstrect;
    dstrect.x = (screen->w - bmp->w) / 2;
    dstrect.y = (screen->h - bmp->h) / 2;
 ...
     // draw bitmap
        SDL_BlitSurface(bmp, 0, screen, &dstrect);
...

Tinggal menganti argumen pada SDL_LoadBMP() dengan nama file yang akan ditunjuk. Lalu menampilkannya dengan SDL_BlitSurface() .

- krofz

No comments:

Post a Comment

Maaf jika komentar anda lama terbitnya ^__^, penulis berusaha OL sesering mungkin. Komentar anda adalah semangat blog ini, dan juga semangat para blogger lainnya. You can use XHTML tags: <a href="" rel="link"> </a>, <strong> </strong>, <b> </b>, <em> </em>, <i> </i>.

Spesial character use :
&lt; for <
&gt; for >


Use Pastebin.com for alternative to display your code :) .

 

back to top

back to top