Latest Blog

Multimedia Interaktif Tata Surya
Membuat Multimedia Pembelajaran Interaktif tentang tata surya
ALL BLOG
;
Menambahkan Gambar ke Dalam Kepingan Puzzle
Metode
Pada tutorial sebelumnya kepingan puzzle sudah dapat ditata dengan rapi, akan tetapi masih belum memiliki gambar. Pada dasarnya terdapat beberapa metode untuk menambahkan gambar ke dalam kepingan seperti menggunakan metode import gambar siap pakai, menggambar dengan kode bitmap data dan metode masking. Melalui tutorial ini akan dijelaskan metode yang cukup sederhana, yaitu metode masking. Hasil dari tutorial ini adalah sebagai berikut :

Tahapan pertama yang harus dilakukan adalah menyiapkan sebuah gambar yang akan dijadikan puzzle. Selanjutnya lakukanlah langkah-langkah berikut :
- Lanjutkan file pada tutorial sebelumnya.
- Import gambar ke Stage dengan memilih menu File > Import > Import to Stage. Gambar yang digunakan adalah gambar bertipe JPG dengan ukuran 600 x 400 pixel (menyesuaikan ukuran puzzle 6 x 4 keping).
Seleksi gambar tersebut kemudian convert menjadi Movieclip "gambar_mc" dan registrasi pojok kiri atas Pastikan anda memasuki mode Advanced dan menyeleksi opsi Export for Actionscript, sehingga movieclip tersebut memiliki linkage.
Perhatikan gambar :
- Hapus movieclip gambar_mc tersebut dari stage, selanjutnya klik frame 1 layer 1
Menambahkan gambar ke dalam kepingan menggunakan metode masking
Pada frame 1 layer 1, dan tambahkan kode menjadi :
- var game:MovieClip;
- var lebar_puzzle:Number = 6;
- var tinggi_puzzle:Number = 4;
- var efek_bevel:BevelFilter = new BevelFilter();
- efek_bevel.type = BitmapFilterType.INNER;
- efek_bevel.distance = 2;
- efek_bevel.highlightColor = 0xFFFFFF;
- efek_bevel.shadowColor = 0x000000;
- efek_bevel.blurX = 3;
- efek_bevel.blurY = 3;
- function buat_puzzle(px:Number = 0, py:Number = 0):void{
- //movieclip game digunakan sebagai container untuk mempermudah pengaturan
- game = new MovieClip();
- game.x = px;
- game.y = py;
- addChild(game);
- //tambahkan puzzle dengan operasi for
- for (var i:Number = 0; i < tinggi_puzzle;i++){
- for (var j:Number = 0; j < lebar_puzzle; j++){
- //membuat container untuk mengatur bentuk kepingan dan gambar
- var puzzle:MovieClip = new MovieClip;
- puzzle.x = j*100;
- puzzle.y = i*100;
- game.addChild(puzzle);
- //menambahkan gambar ke dalam puzzle
- var gambar:gambar_mc = new gambar_mc();
- gambar.x = -j*100-50;
- gambar.y = -i*100-50;
- puzzle.addChild(gambar);
- //menambahkan bentuk kepingan
- var keping:keping_mc = new keping_mc();
- atur_keping(keping, i, j);
- puzzle.addChild(keping);
- //membentuk gambar sesuai kepingan dengan mask
- gambar.mask = keping;
- //menambahkan efek embos dan outline
- gambar.filters = [efek_bevel];
- }
- }
- }
- function atur_keping(ob:Object, i:Number, j:Number):void{
- //mengatur kepingan bagian atas
- if (i == 0 && j == 0) ob.gotoAndStop(1);
- if (i == 0 && j > 0 && j < lebar_puzzle-1) ob.gotoAndStop(2);
- if (i == 0 && j == lebar_puzzle-1 ) ob.gotoAndStop(3);
- //mengatur kepingan bagian tengah
- if (i > 0 && i < tinggi_puzzle - 1 && j == 0) ob.gotoAndStop(4);
- if (i > 0 && i < tinggi_puzzle - 1 && j > 0 && j < lebar_puzzle-1) ob.gotoAndStop(5);
- if (i > 0 && i < tinggi_puzzle - 1 && j == lebar_puzzle-1 ) ob.gotoAndStop(6);
- //mengatur kepingan bagian tengah
- if (i == tinggi_puzzle - 1 && j == 0) ob.gotoAndStop(7);
- if (i == tinggi_puzzle - 1 && j > 0 && j < lebar_puzzle-1) ob.gotoAndStop(8);
- if (i == tinggi_puzzle - 1 && j == lebar_puzzle-1 ) ob.gotoAndStop(9);
- }
- buat_puzzle(150, 150);
Jalankan aplikasi dengan menekan tombol Ctrl+Enter, maka hasil dari tutorial ini adalah sebagai berikut
Penjelasan Kode
- var efek_bevel:BevelFilter = new BevelFilter();
- efek_bevel.type = BitmapFilterType.INNER;
- efek_bevel.distance = 2;
- efek_bevel.highlightColor = 0xFFFFFF;
- efek_bevel.shadowColor = 0x000000;
- efek_bevel.blurX = 3;
- efek_bevel.blurY = 3;
Pada baris 5 dilakukan pengaturan efek filter bevel. Efek ini akan menghasilkan efek timbul pada masing-masing kepingan puzzle,sehingga seolah-olah masing-masing kepingan puzzle memiliki ketebalan.
- //tambahkan puzzle dengan operasi for
- for (var i:Number = 0; i < tinggi_puzzle;i++){
- for (var j:Number = 0; j < lebar_puzzle; j++){
- //membuat container untuk mengatur bentuk kepingan dan gambar
- var puzzle:MovieClip = new MovieClip;
- puzzle.x = j*100;
- puzzle.y = i*100;
- game.addChild(puzzle);
- //menambahkan gambar ke dalam puzzle
- var gambar:gambar_mc = new gambar_mc();
- gambar.x = -j*100-50;
- gambar.y = -i*100-50;
- puzzle.addChild(gambar);
- //menambahkan bentuk kepingan
- var keping:keping_mc = new keping_mc();
- atur_keping(keping, i, j);
- puzzle.addChild(keping);
- //membentuk gambar sesuai kepingan dengan mask
- gambar.mask = keping;
- //menambahkan efek embos dan outline
- gambar.filters = [efek_bevel];
- }
- }
Penambahan kode dilakukan pada operasi FOR di atas. Sebuah moviclip baru yaitu movieclip puzzle dibuat sebagai container untuk 2 elemen yaitu elemen gambar dan elemen kepingan untuk masking.
Selanjutnya movieclip gambar_mc ditambahkan ke dalam movieclip puzzle dan posisinya disesuaikan dengan variabel i dan j.
Setelah itu,bentuk kepingan puzzle seperti pada tutorial sebelumnya, ditambahkan dan dijadikan sebagai masking dari gambar. (gambar.mask = keping;), sehingga gambar akan tampak terbingkai oleh kepingan puzzle.
Sebagai sentuhan akhir diberikan efek Bevel dengan kode sederhana gambar.filters = [efek_bevel];.
Selanjutnya
Tahapan selanjutnya adalah mengacak kepingan puzzle
Share ( Ayo Berbagi )
Leave me a comment
untuk pertanyaan lebih baik di email langsung ke wandah [at] wandah [dot] com agar cepat direspon