Membuat Game Puzzle Dengan Adobe Flash

    Game puzzle yang akan kita buat yakni game acak gambar. Sebuah gambar yang sudah kita sediakan kemudian diacak, lalu pemain diharuskan menyusun ulang hingga benar. Tentunya anda sudah mengetahui konsep dari game yang akan kita buat dari Flash ini.
1.     Buka program Flash, lalu buat sebuah dokumen baru, pilih action script 2 untuk membuat file baru. Tentukan besar area dengan memlihih menu modify > document. Masukkan angka 800X300 pada input area width & height.
2.     Masukkan gambar yang akan digunakan sebgai Puzzle. Klik File > Import. Disitu anda bisa melihat ada dua pilihan import, import to library & import to storage. Pilih import to storage aja ya.
3.     Masukkan gambar yang telah diimport ke dalam area stage. Atur ukuran gambar tersebut menjadi ukuran 383x287 pixel. Klik kanan pada gambar, kemudian pilih break a part untuk mengubah gambar tersebut menjadi shape.
Potong-potong gambar tersebut menjadi beberapa bagian sesuai dengan keinginan dengan memotongnya menggunakan garis, disini kita menggunakan potongan dengan ukuran 3x3 (berarti menjadi 9 bagian) sebagai awalan.



4.     Jadikan gambar potongan tersebut menjadi objek symbol “Movie Clip” dengan cara klik atau seleksi salah satu potongan gambar, klik kanan lalu pilih “convert to symbol”.
5.     Tentukan posisi registration dari symbol, letakkan tepat berada di tengah. Ini dimaksudkan sebagai titik focus dari symbol agar pada saat pendeteksian letak koordinat dapat dijadikan acuan. Convertsemua potongan menjadi movie clip. Beri nama img1, img2, img3, dst.
6.     Bersihkan garis pemotong dengan cara double klik pada garis lalu tekan delete. Setelah itu copy semua movie clip hasil convert dan paste disebelah symbol orisinilnya. Sehingga tampak seperti gambar.
 


7.     Kembali piih semua potongan gambar asli kemudian klik kanan > arrage > bring to front. Dimaksudkan agar gambar asli berada paling atas. Kemudian pilih gambar hasil copy (semua potongan) lalu buka panel properties dengan cara klik windows > properties (bila panel properties belum terbuka). Pada pilihan sub colour effect pilih style lalu ubah menjadi alfa dengan nilai 20%.Sehingga gambar agakmenjadi pudar.
Namai setiap potongan gambar asli dengan nama “gbr1_mc”. Dengan cara klik pada potongan gambar kemudian pada panel properties ubah instance name menjadi “gbr1_mc”, “gbr2_mc”,dst. “_mc” disini dimaksudkan agar action script flash dapat mengenali bahwa instance name tersebut adalah instance dari movie clip. Untuk penamaan teks dianjurkan nama instancenya diakhiri dengan “_txt”

 
 

8.      Namai pula setiap potogan gambar hasil duplikat . Langkah sama dengan diatas akan tetapi nama instancenya diberi nama “tar1_mc”, ”tar2_mc”, dst. Dimaksudkan gambar duplikat dijadikan target peletakan gambar asli.
9.     Tambahkan button pada stage area kerja . Button dapat bibuat sendiri atau diambil dari library dari aplikasi. Caranya klik Windows > Common Library > Button.Pilih jenis Button yang akan dipergunakan, lalau drag and drop ke dalam stage area.
10.     Pilih symbol button yang sudah berada didalam area. Buka windows action dengan cara klik windows > action. Atau tekan tombol F9. Panel action digunakan untuk menuliskan script yang nanti dipakai oleh object yang ada dalam flash.



10. Pilih symbol button yang sudah berada didalam area. Buka windows action dengan cara klik  windows > action. Atau tekan tombol F9. Panel action digunakan untuk menuliskan script yang nanti dipakai oleh object yang ada dalam flash.

11.     Karena hanya membuat puzzle sederhana maka script yang dipakai juga sederhana. Ketikkan script untuk button yang sudah ada sebagai berikut.
on (release) {
            if(acak ==0){
                        //menangkap koordinat x
                        var x = new Array();
                        for (i=1;i<10;i++){
                                    x[i] = this["gbr"+i+"_mc"]._x;
                        }
                        //menangkap koordinat y
                        var y = new Array();
                        for (i=1;i<10;i++){
                                    y[i] = this["gbr"+i+"_mc"]._y;
                        }
                        //acak potongan gambar
                        for(i=1;i<6;i++){
                                    j = 6-i;
                                    this["gbr"+i+"_mc"]._x = x[j];
                                    this["gbr"+i+"_mc"]._y = y[j];
                        }
                        for(i=6;i<10;i++){
                                    j = 10-i + 5;
                                    this["gbr"+i+"_mc"]._x = x[j];
                                    this["gbr"+i+"_mc"]._y = y[j];
                        }
                       
                        acak = 1;
            }else{
                        for(i=1;i<10;i++){
                                    this["gbr"+i+"_mc"]._x = xawal[i];
                                    this["gbr"+i+"_mc"]._y = yawal[i];
                                    }
                        acak = 0;
            }
}
Penjelasan :
Action script ditas menangkap nilai koordinat X dan y dari potongan gambar yang diacak. Diambil kemudian disimpan dalam array. Kemudian dilanjutkan dengan mengacak gambar dengan fungsi for sebanyak 2 kali. Sebelumnya terdapat pengecekan. Apabila button tertekan satu kali maka gambar akan teracak, dan apabila gambar tertekan untuk yang kedua kalinya maka gambar akan kembali ke posisi semula.
Klik pada area (jangan mengenai objek) kemudian kembali ke panel action dan tambahkan action script berikut.
var acak = 0;
var xawal = new Array();
var yawal = new Array();
for (i=1;i<10;i++){xawal[i] = this["gbr"+i+"_mc"]._x;}
for (i=1;i<10;i++){yawal[i] = this["gbr"+i+"_mc"]._y;}
Penjelasan :
Action script yang dimasukkan di dalam stage bertjuan untuk menangkap posisi awal potongan gambar dan menyimpannya. Digunakan saat button diklik ke dua kalinya.Sehingga posisi potongan gambar akan kembali seperti semula.
Selanjutnya agar gambar dapat dipindah-pindahkan, maka setiap gambar diberikan action scrip sebagai berikut.
on(press){
            startDrag(this,true);
            }
on(release){
            stopDrag();
           
            if(this.hitTest(this._parent.tar1_mc)){
                        this._x = this._parent.tar1_mc._x;
                        this._y = this._parent.tar1_mc._y;
            }
}
Ubah nama instancenya menyesuaikan dengan target dari potongan gambar yang diberi action script.
Selanjutnya tambahkan layer baru dengan cara klik insert > timeline > layer. Letakkan layer tersebut diurutan paling bawah (digunakan untuk tempat background) dengan cara di drag.
Lock layer 1 dengan menekan titik yang sejajar dengan icon lock dari layer. Bertujuan agar semua objek yang terdapat dalam layer tersebut tidak dapat diedit. Sehingga tidak akan mengganggu layer lainnya.
Buatlah sebuah kotak menggunakan rectangle tool untuk membuat sebuah background.
Saat membuat kotak, mouse jangan langsung dilepaskan. Tahan mouse sambil tekan panah kebawah pada keyboard beberapa kali agar kotak menjadi tidak bersudut.
Klik pada fill colour atau isi dari kotak kemudian pada panel color (windows > color). Ubah pilihan solid menjadi linear gradient.
Tentukan warna 1 dan warna 2. Kemudian hilangkan seleksi dari fill colour atau isi dari kotak dengan cara klik pada area kosong.
Untuk mengetes hasil, klik control > test movie > test. Atau tekan Ctrl + Enter pada keyboard. Selesai.


Sumber