Perl Graphics Programming Using Ming Irvanizam Zamanhuri, M.Sc Dr. Taufik F. Abidin, M.Tech Razief Perucha Fauzie Hafidh, M.Sc Jurusan InformaGka FMIPA-‐UNSYIAH
What is ming? • Ming adalah file library yang dituliskan dengan menggunakan bahasa C untuk membentuk file SWF. • Ming digunakan pada PHP, Pyton, Ruby, Java, C++ • Library Ming dibuat oleh Dave Hayden of Opaque Industries dan di-‐release di LGPL (Lesser GNU Public License). • Penjelasan lengkap pada Bab ini dapat diunduh melalui e-‐ book berikut: • oreilly.com/catalog/perlgp/chapter/ch09.pdf
Using Ming(2/2) • Kebanyakan pengembang web graphics membentuk file SWF dengan soZware Macromedia Dreamweaver. • Dengan Ming, SWF dapat dibuat dengan menuliskan program baris demi baris sehingga dapat mengubah konten grafik di website. • Dapat juga menggunakan skrip CGI untuk membentuk dokumen SWF secara dinamis dari beragam source data. • Bahkan pada kasus tertentu, Ming digunakan sebagai tool Flash.
Instalasi Ming • Ming dapat diunduh melalui: h^p://www.libming.net/ atau h^p://sourceforge.net/projects/ming/ • Kadang-‐kadang Ming akan beradu dengan external library yang lain. • Contoh, fonts dan images harus dikonversi menjadi format special Ming-‐readable.
How to install ming • Perl binding • $ cd ! • $ wget http://ecogis.sfc.keio.ac.jp/pub/ ming-0.3beta1-perl_ext.Makefile.patch ! • $ tar zxvf ming-0.3beta1.tar.gz ! • $ cd ming-0.3beta1/perl_ext ! • $ patch -p0 < ~/ming-0.3beta1perl_ext.Makefile.patch ! • $ perl Makefile.PL ! • $ time make ! • $ make test ! • $ su ! • $ make install ! • $ perl -e "use SWF" ! • $ ! • At the perl command, empty output means it is good.
How to install ming (2/2) • Ming library & PHP binding • Download source package dari h^p://www.libming.org/. kemudian, • • • • • • • • •
$ $ $ $ $ $ $ $ $
tar jxvf ming-0.3beta1.tar.bz2 ! cd ming-0.3beta1! time make ! cd php_ext ! time make ! su ! make install ! cd .. ! make install !
Edi=ng php.ini • Replace $PHP_INI_DIR to your php.ini directory.
• # echo extension=php_ming.so >> $PHP_INI_DIR/php.ini!
! • Cek apakah extension_dir dalam php.ini Anda sudah menunjukkan ke direktori yang benar dalam file php_ming.so. • Jika php_ming.so telah diinstall di /usr/local/lib/php/ extensions/no-debug-non-zts-20020429, maka extension_dir Anda harus berada di: • extension_dir = "/usr/local/lib/php/ extensions/no-debug-non-zts-20020429" !
Edi=ng php.ini (2/2) • Konfirmasi installasi: • $ php -v PHP 4.4.1 (cli) (built: Nov 7 2005 11:54:00) Copyright (c) 1997-2004 The PHP Group Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies ! • Normal output is a good sign.
Overview of the Perl Interface • • • • • • • • • • • • • •
SWF::Movie -‐> Objek Movie. SWF::Sprite -‐> (MovieClip) SWF::DisplayItem -‐> KeGka sebuah objek sudah berada di Stage of a Movie, instance dari object tersebut dapat dimanipulasi. SWF::Shape -‐> vektor objek shape SWF::Bu^on -‐> tombol bu^on dapat merespon mouse dan keyboard events. SWF::Bitmap -‐> image dari file dan diletakkan sebagai objek Bitmap di Movie. SWF::Text -‐> Objek Text. SWF::TextField -‐> Kotak text yang dapat diupdate kontennya. SWF::Font -‐> Bentuk huruf. SWF::Fill -‐> Isi dari Objek shape SWF::Gradient -‐> gradient untuk membentuk Objek Fill. SWF::Morph -‐> Objek Morph merepresentasikan jarak antara dua shape. SWF::Sound -‐> suara SWF::AcGon -‐> Objek berisikan AcGonScript.
The Astral Trespassers Game • • • •
Astral Trespassers adalah game tembak sederhana. KeGka dijalankan, game akan membentuk sebuah file SWF. Menggunakan mouse untuk menggerakkan senjata. Klik di screen untuk menembak musuh
The interface of Astral Trespassers Game
Alur Program The document dibuat dalam 5 stages: • Buat objek SWF::Shape untuk membentuk senjata, aliens (musuh), dan peluru. • Memasang shape-‐shape secara berutan di dalam Sprites. • Memasang Sprites pada main Gmeline dari objek SWF::Movie. • AkGcan AcGonScript untuk seGap Sprites dan main Gmeline. AcGon-‐ Script diterjemahkan codenya oleh Flash player dan mengkontrol pergerakan sprites pada Stage serta menginteraksikan antara user dengan objek movie. • Tulis Movie ke dalam file (or STDOUT) yang berformat data SWF.
The Astral Trespassers Game Code • Kode program Game Astral Trespassers dapat diunduh melalui: • h^p://cs.unsyiah.ac.id/~irvanizam/Astral.cgi
Referensi Shawn Wallace, Perl Graphics Programming, O’Reilly. h^p://sourceforge.net/projects/ming/ h^p://cs.unsyiah.ac.id/~irvanizam/Astral.cgi h^p://www.libming.net Shawn Wallace, Perl Graphics Programming (Chapter 9: Using Ming), O’Reilly. • (h^p://oreilly.com/catalog/perlgp/chapter/ch09.pdf) • How to install ming : • h^p://ecogis.sfc.keio.ac.jp/pub/ming_en.html • • • • •