Sebenarnya saya agak malu nge-posting ini, karena low quality (✗_✗) banget. Tapi karena saya melihat ada beberapa teman yang kesulitan dalam mengerjakan tugas pemprograman Visual Basic (VB6) yang seperti ini, maka saya tebel-tebelin muka untuk posting disini sebagai contoh, siapa tahu bisa berguna.
Cara yang lebih baik adalah dengan membuka file project 'Binatangus.vbp' dari Windows Explorer.
Gif dipilih karena fitur transparansi gambar-nya. Meskipun selain transparansi, format png juga mendukung warna yang lebih kaya, format ini tidak dapat saya pilih karena tidak dapat ditampilkan oleh komponen Image.
Animasi Sun (Matahari) dilakukan dengan menggunakan kumpulan file gif yang ditampilkan bergantian pada komponen Image yang menjadi display-nya. Gambar-gambar ini di-load ke memory terlebih dahulu pada saat form di load kedalam array bertipe IPictureDisp sebagai penampung, sehingga animasinya dapat berjalan lebih mulus karena tidak lagi perlu mengakses hardisk pada saat animasi dijalankan. Pergantian gambar dilakukan setiap interval tertentu sesuai yang didefinisikan pada komponen Timer pengendalinya.
Teknik ini digunakan untuk menghindari penggunaan komponen pihak ketiga dan juga untuk menghindari penggunaan fungsi low level dari WinAPI (GDI) dalam menampilkan animasi gif yang membutuhkan prosedur yang agak rumit.
Meskipun sederhana, tetapi entah mengapa sepertinya di internet tidak ada yang menggunakan teknik seperti yang saya gunakan disini... Yah mungkin karena terlalu sederhana dan amatiran jadi ga ada yang make teknik ini :p
Animasi cloud (Awan) dilakukan dengan sederhana. Hanya menggeser Image ke kanan dan kekiri sesuai interval Timer pengendalinya.
Kode yang digunakan dalam memainkan file suara didapat dari internet (alamat sumbernya tidak tercatat). Pada kode tersebut terdapat pendefinisian beberapa konstanta, yang meskipun ada yang tidak digunakan tetapi tidak saya hapus karena sepertinya akan bermanfaat sebagai bahan referensi dikemudian hari.
Pada saat dijalankan, animasinya terkadang (sering sih) tampak berkedip, hal ini dikarenakan repaint form tidak terjadi langsung setelah pergerakan/ pergantian gambar. Hingga saat ini, solusinya masih belum saya temukan :p
Jika program didisribusikan tanpa menggunakan installer, yang mungkin terjadi adalah saat program dijalankan di komputer lain, lokasi program tersebut kemungkinan besar (sangat besar) berbeda dengan lokasi eksekusi program saat kita menjalankannya sendiri komputer kita, akibatnya program tersebut tidak dapat menemukan file yang dibutuhkannya .
Lebih baik menggunakan path relative (misal:
Jika ternyata tidak bisa, misalnya saat menggunakan komponen WebBrowser yang cuma mau ngebuka file berdasarkan path absolute, maka bisa digunakan fungsi CurDir untuk membangun path tersebut (misal:
Hanya saja sebagian besar contoh yang saya lihat di internet saat menggunakannya menggunakan bentuk:
Banyak yang tidak mengetahui bahwa
Akibatnya animasi akan terhenti ಠ_ರೃ....
Untuk memainkan suara secara unsynchronized, ganti angka tersebut dengan
maka kodenya menjadi:
Tampilan Program
Pemilihan objek dengan menggunakan list |
Pemilihan objek dengan meng-klik gambar binatang |
Latar Belakang Pembuatan
Aplikasi ini dibuat sebagai pelaksaan dari tugas yang diberikan pada matakuliah Bahasa Pemprograman Visual 1 (Visual Basic 6) yang diajar oleh Bapak H. M. Amrin Lubis, Ir, M.Sc untuk mendemonstrasikan penggunaan List, Animasi dan Suara. Untuk lebih jelasnya, berikut ini adalah pernyataan tugas tersebut:- Buat sebuah daftar nama-nama hewan dalam list atau combo minimal 10 nama hewan.
- Ketik di-click salah satu nama hewan tersebut maka tampil gambarnya.
Misal: di-klik kelinci tampil nama kelinci dan bahasa inggrisnya. - Keluarkan voice dari nama hewan tersebut
- Buat animasi"
Wajib:
Anjuran:
Download
Kode sumber berbahasa Visual Basic dan file exe-nya yang sudah ter-7zip, binatangus_20120402.7z (656,03 KB) bisa di-ambil di: http://www.mediafire.com/?81t9feu2oju18bqMohon di PERHATIKAN!!!
Karena direktori kerja IDE VB6 secara default-nya adalah "C:\Program Files\Microsoft Visual Studio\VB98", sedangkan VB tidak mengganti direktori kerja sesuai project yang dibuka, akibatnya, jika menggunakan Open Project-nya IDE Visual Basic, pada saat me-Run dari IDE programnya tidak dapat menemukan file-file eksternal(gambar dan suara) yang dibutuhkannya.Cara yang lebih baik adalah dengan membuka file project 'Binatangus.vbp' dari Windows Explorer.
Penjelasan Program
Semua gambar yang ditampilkan form berformat gif, kecuali gambar background yang berformat jpg.Gif dipilih karena fitur transparansi gambar-nya. Meskipun selain transparansi, format png juga mendukung warna yang lebih kaya, format ini tidak dapat saya pilih karena tidak dapat ditampilkan oleh komponen Image.
Animasi Sun (Matahari) dilakukan dengan menggunakan kumpulan file gif yang ditampilkan bergantian pada komponen Image yang menjadi display-nya. Gambar-gambar ini di-load ke memory terlebih dahulu pada saat form di load kedalam array bertipe IPictureDisp sebagai penampung, sehingga animasinya dapat berjalan lebih mulus karena tidak lagi perlu mengakses hardisk pada saat animasi dijalankan. Pergantian gambar dilakukan setiap interval tertentu sesuai yang didefinisikan pada komponen Timer pengendalinya.
Teknik ini digunakan untuk menghindari penggunaan komponen pihak ketiga dan juga untuk menghindari penggunaan fungsi low level dari WinAPI (GDI) dalam menampilkan animasi gif yang membutuhkan prosedur yang agak rumit.
Meskipun sederhana, tetapi entah mengapa sepertinya di internet tidak ada yang menggunakan teknik seperti yang saya gunakan disini... Yah mungkin karena terlalu sederhana dan amatiran jadi ga ada yang make teknik ini :p
Animasi cloud (Awan) dilakukan dengan sederhana. Hanya menggeser Image ke kanan dan kekiri sesuai interval Timer pengendalinya.
Kode yang digunakan dalam memainkan file suara didapat dari internet (alamat sumbernya tidak tercatat). Pada kode tersebut terdapat pendefinisian beberapa konstanta, yang meskipun ada yang tidak digunakan tetapi tidak saya hapus karena sepertinya akan bermanfaat sebagai bahan referensi dikemudian hari.
Pada saat dijalankan, animasinya terkadang (sering sih) tampak berkedip, hal ini dikarenakan repaint form tidak terjadi langsung setelah pergerakan/ pergantian gambar. Hingga saat ini, solusinya masih belum saya temukan :p
Aplikasi dan lainnya yang digunakan dalam pengerjaan:
Nama | Penggunaan |
---|---|
Audacity | Konversi *.mpeg → *.wav |
DownloadHelper | Add-On Firefox untuk men-download suara dari Google Translate |
Gimp | Konversi *.png → *.jpg dan *.png → *.gif. Pembuatan icon (*.ico) |
Google Translate | Sumber file suara bahasa inggris (*.mpeg) |
Inkscape | Konversi *.svg → *.png. Pembuatan gambar latar, matahari (sun), awan |
Mozilla Firefox | Web browser untuk mengakses Google Translate |
OpenClipart | Koleksi sumber gambar (binatang) (*.svg) |
Membuat yang seperti program ini
Beberapa sumber masalah yang mungkin terjadi
Menggunakan path absolute
Saat me-load file eksternal (gambar, suara) sebaiknya jangan menggunakan path absolute (misal:"c:\Yayang\kuliah\tugas\animasi\gajah.gif"
)Jika program didisribusikan tanpa menggunakan installer, yang mungkin terjadi adalah saat program dijalankan di komputer lain, lokasi program tersebut kemungkinan besar (sangat besar) berbeda dengan lokasi eksekusi program saat kita menjalankannya sendiri komputer kita, akibatnya program tersebut tidak dapat menemukan file yang dibutuhkannya .
Lebih baik menggunakan path relative (misal:
".\animasi\gajah.gif"
) Jika ternyata tidak bisa, misalnya saat menggunakan komponen WebBrowser yang cuma mau ngebuka file berdasarkan path absolute, maka bisa digunakan fungsi CurDir untuk membangun path tersebut (misal:
CurDir & "\animasi\gajah.gif"
)Memainkan suara dengan secara synchronized
Biasanya untuk memainkan file wav yang termudah adalah dengan menggunakan fungsi PlaySoundA dari winmm.dll.
Private Declare Function PlaySoundA Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
Hanya saja sebagian besar contoh yang saya lihat di internet saat menggunakannya menggunakan bentuk:
PlaySoundA <path ke file suara>, 0, &H20000 Or &H0
Banyak yang tidak mengetahui bahwa
&H0
di atas berarti memainkan suara secara tersingkronisasi alias laju program akan dihentikan dan menunggu hingga suara selesai dimainkan.Akibatnya animasi akan terhenti ಠ_ರೃ....
Untuk memainkan suara secara unsynchronized, ganti angka tersebut dengan
&H1
,maka kodenya menjadi:
PlaySoundA <path ke file suara>, 0, &H20000 Or &H1
gan saya coba download kok tipe filenya bukan zip...????ada yang rar g gan!!bntu please...
BalasHapusSeingat saya Winrar bisa buka file 7z koq.
HapusTapi klo masih ga bisa juga, coba buka pake 7zip, bisa di-download di http://www.7-zip.org/download.html