Cara Membuat Animasi Lebah Terbang dengan Macromedia Flash
Tutorial ini saya buat untuk siswa saya yang ikut MUSE, semoga dengan tutorial ini bisa membantu belajar membuat animasi dengan macromedia flash. Materi ini baru saya berikan nanti setelah materi 2 selesai.
OK disini saya menggunakan 2 software, yaitu untuk menggambar lebah saya gunakan coreldraw 11 dan untuk animasi menggunakan macromedia flash MX Professional 2004
versi 7.0.1. Pertama gambar lebah dengan coreldraw, buat 3 gerakan
lebah yang berbeda. Setelah itu export masing-masing gambar tadi.
gambar lebah 3 gerakan
Untuk export tiap-tiap gambar lebah tadi
saya juga masih bingung harus memilih format apa, setelah mencoba-coba
akhirnya saya memutuskan untuk mengexport tiap gambar tadi dengan format
EPS (Encapsulated PostScript), mungkin nanti ada yang
bisa memberikan masukan atau solusi kepada saya format apa yang tepat
biar gambar tidak berubah sesuai aslinya pada saat masih di coreldraw.
Buka Macromedia Flash. Kemudian dari menu bar pilih insert, new symbol. Pada option nama saya beri nama “lebah terbang” dan behaviournya dipilih yang “movie clip”.
Klik OK. Nah setelah di klik OK sekarang kita bekerja pada area symbol
yang baru kita buat tadi. Langkah selanjutnya kita tinggal mengimport
lebah yang sudah kita export dari coreldraw tadi ke library.
Dari menu bar pilih File kemudian pilih import, klik yang import to library. Kalau yang dipilih import to stage maka
gambar nanti langsung tampil di stage. Pilih file gambar lebah 1.eps
kemudian klik open, setelah itu akan tampil jendela option, pada “convert pages to” pilih keyframe
kemudian klik OK. Lakukan dengan cara yang sama pada lebah2.eps dan
lebah3.eps. Buka librarynya dengan cara klik windows pada menu bar
kemudian pilih library, maka akan mumcul jendela library, dan gambar
tadi berada di dalam library tadi.
Ok sekarang tinggal memasukkan lebah tadi ke frame di timeline. Klik frame pertama pada timeline, dari library klik gambar lebah1 kemudian klik dan drag ke stage. Setelah itu pada timeline klik kanan frame 2 pilih insert blank keyframe,
kemudian dari library drag gambar lebah2 ke stage. Sekarang letakkan
posisi lebah2 sama persis di posisi lebah1, tentunya tidak akan terlihat
gambar lebah1 nya karena letaknya pada frame 1, untuk itu pada timeline klik “ Onion Skin”
untuk menampilkan bayangan gambar dari lebah1 sehingga kita bisa
menempatkan posisi lebah2 tepat pada lebah1. Dengan cara yang sama
seperti diatas, lakukan pada gambar lebah3. Kalao sudah sekarang di
timeline sudah ada tiga buah frame, tekan enter untuk melihat hasilnya.
masukan gambar lebah1 di frame 1 pada timeline
masukan gambar lebah2 di frame 2
Onion Skin
OK kalau sudah sekarang kembali ke scene awal (karena tadi kita bekerja pada movie clip) dengan cara klik scene di atas timeline. Tahap akhir tinggal memasukkan animasi yang sudah kita buat tadi (movie clip). Klik pada frame 1, dari library klik movie clip
yang tadu kita buat dengan nama “lebah terbang” kemudian drag ke stage
(posisikan diluar stage sebelah kiri, karena ceritanya nanti akan kita
buat lebah tadi terbang dari kiri ke kanan). Kalau sudah sekarang pada timeline klik kanan pada frame 45 kemudian pilih insert keyframe. Lalu klik kanan diantara frame 1 – frame 45 pilih “create motion tween”. Klik pada frame terakhir yaitu di frame 45, lalu klik lebah tadi, tekan shift dan drag/geser lebah ke arah kanan sampai keluar stage.
motion tween
Nah akhirya selesai sudah, sekarang tes movie dengan cara menekan ctrl+enter pada keyboard atau dari menubar pilih control pilih test movie.
Lebah akan terbang dari arah kiri ke kanan. Selamat mencoba, saya yakin
tutorial ini masih jauh dari sempurna jadi saran dari para animator
yang sudah punya jam terbang banyak sangat diharapkan.
Cara Buat Game Flash
1.Persiapan
Buat 3 buah layer untuk memudahkan pembuatan. layer 1 untuk diberikan label frame, layer 2 untuk diisi actionscript, layer 3 tempat kita nanti menyimpan movieclip dan sebagainya.
Ingat baik-baik untuk menyimpan pada tempatnya (layer label untuk
nyimpen label, klo nulis ActionScript di layer eksyenskrip, dan selain
itu semua simpan aja di layer symbols). Sebenernya boleh aja sih
disatuin semua di 1 layer… tapi fren, percayalah ini juga demi kerapihan program kita… untuk amannya, layer selain symbols dilock/hide aja. Sementara itu untuk
panjang framenya adalah bebas tapi untuk gampangnya kita buat saja
jadi 3 yaitu frame awal untuk tampilan menu, frame berikutnya untuk
permainan, dan berikutnya lagi untuk tampilan game over. Jangan lupa untuk tiap frame berikan label ‘menu’, ’permainan’, ‘gameover’ nanti pindah framenya tinggal gotoAndStop(“nama label”); Lihat gambar berikut…
Pada
game ini untuk memudahkan dalam pengertian maka setiap Saya menulis
actionscript di depan tiap objek Saya berikan id untuk mengenali objek
apakah itu…
objek dengan awalan mc_ adalah movieclip
objek dengan awalan btn_ adalah tombol (button)
objek dengan awalan so_ adalah SharedObject
2.Bagian Menu
Untuk tampilan menu awalnya buatlah judul game yang besar-besar…!!! buat juga tombol main dengan nama instance (lihat properties button) ‘btn_main’ (ini tombol untuk melanjutkan permainan) dan tombol keluar dengan nama instance ‘btn_keluar’ (ini tombol untuk keluar). Kemudian buat juga sebuah dynamic text dengan nama var ‘topsekorer’ (ini disediakan untuk menampilkan top scorer).
Adapun untuk bisa menyimpan dan membaca data skor pada flash di
komputer kita, kita perlu menggunakan fasilitas SharedObject. misalkan
nanti kita simpan 2 buah data di SO tersebut yaitu namaSO.data.nama
untuk menyimpan nama dan namaSO.data.skor untuk menyimpan skor. Setelah
semua itu selesai berikan actionscript di frame 1 sebagai berikut:
stop(); //supaya ngga jalan kemana2 var so_skor:SharedObject = SharedObject.getLocal("catatanSkor","/");
//untuk baca dan simpan data skor var jmlTopSkorer:Number = 5; //jumlah top skorer yg ditampilkan text_topSkorer.text = "" ; //tampilan skor di dynamic text /* **************************************** pada SharedObject so_skor ada beberapa data yang disimpan yaitu: - topSkor dari 1 sampai 6 (so_skor.data.topSkor1, so_skor.data.topSkor2,
so_skor.data.topSkor3,...dst) - namaTopSkorer dari 1 sampai 6 (sama seperti diatas,
sebenarnya yg dipakai cuman 5 skor,
yang ke-6 untuk temp aja :) - input nama terakhir (supaya otomatis terisi ketika game over) **************************************** */ if( so_skor.data.topSkor1 == undefined) //fungsi ini cuma dipakai
pertama kali untuk reset skor { for(i=1; i<=jmlTopSkorer; i++){ so_skor.data["topSkor"+i]=1500/i; so_skor.data["namaTopSkorer"+i]="Faisalman"; } } /************************************************************** // untuk menampilkan top skor di dynamic text yg ada di stage : ***************************************************************/ for (i = 1; i <= jmlTopSkorer; i++) { text_topSkorer.text = text_topSkorer.text + "\\n" + eval
("so_skor.data.namaTopSkorer"+i) + " " + eval("so_skor.data.topSkor"+i); } /* **************************************** // perintah ketika tombol main ditekan : **************************************** */ btn_main.onPress = function(){ gotoAndStop("permainan"); } /* **************************************** //perintah ketika tombol keluar ditekan : **************************************** */ btn_keluar.onPress = function(){ fscommand("quit",true); } /* ************************************************** //kalau mau ada tombol utk reset skor : btn_reset.onPress = function(){ so_skor.clear(); } ****************************************************** */
3.Bagian Permainan
Sesudah
selesai membuat menu awal selanjutnya kita buat bagian permainan,
seperti yang kita tahu inilah sebenarnya inti dari program yang sedang
kita buat. Baiklah langsung saja siapkan tokoh-tokohnya: Tux si pinguin,
makanan favoritnya (tulang ikan), dan bom. Anda bisa buat sendiri atau
pakai yang sudah Saya buat saja (hasil tracing) seperti di bawah ini…
Alasan
mengapa gambarnya Saya jadikan vektor adalah supaya pada saat bermain
nanti eksekusinya jauh lebih ringan dibanding jika memakai begitu saja
gambar bitmap hasil import (tidak percaya silahkan coba sendiri
bedanya). lihat saja hasil .swf-nya saudara-saudara… game ini besarnya
hanya 8 kilobyte jika dimainkan langsung dengan flash (lihat di bawah). By the way anyway busway (halah),
jangan lupa masing-masing objek itu dijadikan movieclip (klik kanan
objek > convert to symbol … atau klik objek menu>modify>convert
to symbol) beri nama apapunlah misalkan pinguin, ikan, atau bom.
kemudian beri nama instance (lihat properties movieclip) ‘mc_tux’ pada si pinguin, ‘mc_ikan_1’ pada si tulang ikan, dan ‘mc_bom_1’
pada bom. Kemudian bagian terpenting dari yang penting di game ini
adalah rangkaian actionscript berikut (ingat untuk menyimpannya di
layer eksyenskrip) jreng jreng jreng!!! artikel ini belum selesai,
bersambung ah… biar pada penasaran. insyaAllah nanti diterusin lagi
nulisnya kalau ada waktu senggang, akhir-akhir ini masih sangat sibuk
skrip untuk disimpan di frame ‘permainan’:
stop(); //supaya ngga jalan kemana2 var vLevel:Number = 0; //current level dari game (pertama kali level 0) var vSkor:Number = 0; //jumlah skor var vNyawa:Number = 5; //jumlah nyawa dari pinguin var vJumlahLevel:Number = 8; //jumlah level dari game ini var vSkorIkan:Number = 10; //skor kalau dapet ikan var vSkorBom:Number = -25; //skor kalau kena bom var vSkorMinUtkNaikStage:Number = 250; //setiap dapat 250 poin,
naik ke level berikutnya /* ******************************************************************* // fungsi untuk menggerakkan pinguin dengan keyboard : // (onEnterFrame menjadikan fungsi ini dipanggil sesuai jumlah fps) ******************************************************************* */ mc_tux.onEnterFrame = function() { vtPosisiX = this._x; vtPosisiY = this._y; if (Key.isDown(Key.UP)){ this._y -= 15; } if (Key.isDown(Key.DOWN)){ this._y += 15; } if (Key.isDown(Key.LEFT)){ this._x -= 15; } if (Key.isDown(Key.RIGHT)){ this._x += 15; } if (this._x<0 || this._x > (Stage.width - this._width)){ this._x = vtPosisiX; } if (this._y<0 || this._y > (Stage.height - this._height)){ this._y = vtPosisiY; } } /* ************************************************************************** // fungsi-fungsi berikut inilah yang mengkolaborasikan semua objek disini : // (karena bingung menempatkannya, jadi saya urutkan saja sesuai abjad) ************************************************************************** */ //fungsi yg dipanggil pada saat game over fGameOver = function() { for (i = 1; i < (vJumlahLevel + 2); i++) { removeMovieClip(eval("mc_ikan"+i)); removeMovieClip(eval("mc_bom"+i)) removeMovieClip(eval("mc_bom"+i+"meledak")); } gotoAndStop("gameover"); } //ini untuk mendeteksi adanya tabrakan pinguin dengan ikan atau bom fDeteksiKejadian = function(vtNamaBaru, vtPoin, vtBelumKena) { /**************************************** fungsi dalam if ini hanya akan dijalankan kalau ikan atau bom tsb menabrak pinguin dan juga objek tsb harus visible : *****************************************/ if(vtNamaBaru.hitTest(mc_tux) && vtNamaBaru.vtBelumKena) { vSkor += vtPoin; if(vSkor == (vSkorMinUtkNaikStage * vLevel)){ fNaikStage(); fTampilanLevel("Level "+vLevel); } else { fTampilanLevel(""); } /************************ membuat efek ledakan : ************************/ if(vtPoin!=vSkorIkan){ vNyawa-=1; duplicateMovieClip(mc_duarr,eval(vtNamaBaru+"meledak"),this.
getNextHighestDepth()); setProperty(eval(vtNamaBaru+"meledak"),_x,getProperty(mc_tux,_x)); setProperty(eval(vtNamaBaru+"meledak"),_y,getProperty(mc_tux,_y)); } else { removeMovieClip(eval(vtNamaBaru+"meledak")); } vtNamaBaru.vtBelumKena = false; vtNamaBaru._visible = false; } } //setiap kali pindah level, movieclip ikan dan bom akan diduplikasi fKloning = function(vtNama_mc, vtBanyak, vtPoin) { for (i=1; i<vtBanyak; i++) { var vtNamaBaru:String = vtNama_mc+i; duplicateMovieClip(vtNama_mc, vtNamaBaru, this.getNextHighestDepth()); setProperty(vtNamaBaru, _x, random(Stage.width)); setProperty(vtNamaBaru, _y, Stage.height); fNaikTurun(vtNamaBaru,5+random(5*vLevel),vtPoin); } removeMovieClip(eval(vtNama_mc+(vtBanyak))); } //klo naik level... fNaikStage = function() { vLevel += 1; fKloning("mc_ikan",(vJumlahLevel-vLevel),vSkorIkan); fKloning("mc_bom",(vLevel+1),vSkorBom); } //fungsi untuk menggerakkan hujan ikan2 dan bom2 fNaikTurun = function(vtNamaBaru, vtKecepatan, vtPoin) { var vtBelumKena:Boolean = true; eval(vtNamaBaru).onEnterFrame = function(){ //fungsi ini dipanggil setiap enterFrame if((vLevel > vJumlahLevel) || (vNyawa < 1)) { fGameOver(); } setProperty(this, _y, getProperty(this, _y) + vtKecepatan); fDeteksiKejadian(eval(vtNamaBaru),vtPoin,vtBelumKena); if (this._y > (Stage.height+60)) { setProperty(this, _y, (random(Stage.height))-(Stage.height)); setProperty(this, _x, random(Stage.width)); this.vtBelumKena = true; this._visible = true; } } } //untuk tampilan level di stage fTampilanLevel = function(vtString) { txt_level.text=vtString; } fNaikStage(); //fungsi ini dipanggil sekali untuk naik ke level 1
(inisialisasi level = 0)
skrip untuk disimpan di frame ‘game over’:
stop(); //supaya ngga jalan kemana2 var vInputNamaTerakhir:String = so_skor.data.namaTerakhir; var vJuaraKe:Number = 6; var j:Number = jmlTopSkorer; // variabel jmlTopSkorer dideklarasi di frame 1 // fungsi ini dijalankan jika tombol OK ditekan : btn_ok.onPress=function() { //bandingkan dengan skor hasil dg skor yg ada (untuk menentukan peringkat) for(i=5; i>=1; i--) { if(vSkor > eval("so_skor.data.topSkor"+i)){ vJuaraKe = i } } //fungsi while ini hanya dijalankan jika skor hasil lebih besar dari skor yg ada while (vJuaraKe <= j) { so_skor.data["topSkor"+j] = so_skor.data["topSkor"+(j-1)]; so_skor.data["namaTopSkorer"+j] = so_skor.data["namaTopSkorer"+(j-1)]; j-=1; } so_skor.data["topSkor"+vJuaraKe] = vSkor; so_skor.data["namaTopSkorer"+vJuaraKe] = text_namaSkorer.text; so_skor.data.namaTerakhir = text_namaSkorer.text; //simpan nama pemain so_skor.flush(); //tulis data ke so_skor }
Game Flash Bola 12 Pas
Pada kesempatan ini game yang akan dibuat adalah latihan eksekusi
penalti dari titik putih atau terkadang diistilahkan tendangan “12 pas”
yang juga menjadi judul dari game ini.
Pada frame, sisipkan script berikut ini:
001 // Eksekusi 12 Pas
002 // A game by: F4154LMAN
003
004 mulai();
005
006 function mulai()
007 {
008 var tenaga:Number = new Number();
009 var posisiPemain:Number = new Number();
010 var PosisiGerakKiper:Number = new Number();
011 var PosisiBolaSemula:Number = new Number();
012 var listenerKey:Object = new Object();
013
014 attachSetScaleDanXY("kiperID", "kiper", 70, 330, 160, this.getNextHighestDepth());
015 attachSetScaleDanXY("bolaID", "bola", 100, 150, 315, this.getNextHighestDepth());
016 attachSetScaleDanXY("pemainID", "pemain", 100, 85, 300, this.getNextHighestDepth());
017
018 bola.gotoAndStop("frameBiasa");
019 keterangan.gotoAndStop("frameAwal");
020
021 keterangan.onRelease = function()
022 {
023 removeMovieClip("pemain");
024 removeMovieClip("bola");
025 removeMovieClip("kiper");
026 mulai();
027 }
028
029 listenerKey.onKeyDown = function()
030 {
031 posisiPemain = pemain._x;
032
033 if(((kiper._x - 200) - posisiPemain) > 50)
034 {
035 posisiGerakKiper = -5;
036 }
037 else if(((kiper._x - 200) - posisiPemain) < -50)
038 {
039 posisiGerakKiper = 5;
040 }
041 else
042 {
043 posisiGerakKiper = 0;
044 }
045
046 kiper._x += posisiGerakKiper;
047
048 if(Key.isDown(Key.LEFT))
049 {
050 pemain._x -= 10;
051 }
052
053 if(Key.isDown(Key.RIGHT))
054 {
055 pemain._x += 10;
056 }
057
058 if(pemain._x < 50 || pemain._x > 200)
059 {
060 pemain._x = posisiPemain;
061 }
062
063 if(Key.isDown(Key.SPACE))
064 {
065 tenaga = (Math.floor(Math.random() * (9)) + 6) * 10;
066 bolaDitendang();
067 }
068 }
069 Key.addListener(listenerKey);
070
071 function attachSetScaleDanXY(id:String, namaBaru:String, skala:Number, xx:Number, yy:Number, depth:Number)
072 {
073 attachMovie(id, namaBaru, depth);
074 setProperty(namaBaru, _xscale, skala)
075 setProperty(namaBaru, _yscale, skala)
076 setProperty(namaBaru, _x, xx);
077 setProperty(namaBaru, _y, yy);
078 }
079
080 function bolaDitendang()
081 {
082 delete listenerKey.onKeyDown;
083 posisiBolaSemula = bola._y;
084
085 bola.onEnterFrame = function()
086 {
087 if(kiper._x - bola._x > 10)
088 {
089 posisiGerakKiper = -20;
090 }
091 else if(kiper._x - bola._x < -10)
092 {
093 posisiGerakKiper = 20;
094 }
095 else
096 {
097 posisiGerakKiper = 0;
098 }
099
100 kiper._x += posisiGerakKiper;
101 kiper._rotation += posisiGerakKiper / 2;
102
103 if(tenaga > 90)
104 {
105 kiper._y -= 1;
106 }
107
108 bola._y -= tenaga / 10;
109 bola._x += (tenaga / 10) - ((posisiPemain - 150) / 10);
110
111 setProperty(bola, _xscale, getProperty(bola, _y) / posisiBolaSemula * 100);
112 setProperty(bola, _yscale, getProperty(bola, _y) / posisiBolaSemula * 100);
113
114 if((posisiBolaSemula - bola._y) > (tenaga * 2))
115 {
116 delete bola.onEnterFrame;
117 if(bola.hitTest(kiper.tangkapan))
118 {
119 keterangan.gotoAndStop("frameBlocked");
120 bola.gotoAndStop("frameKena");
121 }
122 else if((bola._x > 200) && (bola._x < 500) && (bola._y > 60) && (bola._y < 200))
123 {
124 keterangan.gotoAndStop("frameGol");
125 }
126 else
127 {
128 keterangan.gotoAndStop("frameOut");
129 }
130 }
131 }
132 }
133 }
Bersiap untuk menendang Bola out
GooooaaaallllllllllLLLLL.....!! Bola Diblok Oleh Kiper
Disini saya membuat game
menggunakan Flash yang umum digunakan untuk membuat game di web, dengan
bahasa pemrograman ActionScript 2.0 yang lebih ramah kepada animator
non-programmer yang kebanyakan berangkat dari basic desain (seperti saya
;P), jika sudah memahami dasar-dasarnya mari lanjut saja. Pada
library, sediakan 3 buah movieclip dengan memiliki identifier
“kiperID”, “bolaID”, dan “pemainID” yang akan diattach ke tengah stage
saat flash movie dijalankan.
Pada
stage, siapkan background seperti pada gambar di bawah ini, perhatikan
koordinat x dan y harus tepat karena menjadi acuan untuk berjalannya
permainan. Siapkan pula movieclip dengan instance name “keterangan”.
001 // Eksekusi 12 Pas
002 // A game by: F4154LMAN
003
004 mulai();
005
006 function mulai()
007 {
008 var tenaga:Number = new Number();
009 var posisiPemain:Number = new Number();
010 var PosisiGerakKiper:Number = new Number();
011 var PosisiBolaSemula:Number = new Number();
012 var listenerKey:Object = new Object();
013
014 attachSetScaleDanXY("kiperID", "kiper", 70, 330, 160, this.getNextHighestDepth());
015 attachSetScaleDanXY("bolaID", "bola", 100, 150, 315, this.getNextHighestDepth());
016 attachSetScaleDanXY("pemainID", "pemain", 100, 85, 300, this.getNextHighestDepth());
017
018 bola.gotoAndStop("frameBiasa");
019 keterangan.gotoAndStop("frameAwal");
020
021 keterangan.onRelease = function()
022 {
023 removeMovieClip("pemain");
024 removeMovieClip("bola");
025 removeMovieClip("kiper");
026 mulai();
027 }
028
029 listenerKey.onKeyDown = function()
030 {
031 posisiPemain = pemain._x;
032
033 if(((kiper._x - 200) - posisiPemain) > 50)
034 {
035 posisiGerakKiper = -5;
036 }
037 else if(((kiper._x - 200) - posisiPemain) < -50)
038 {
039 posisiGerakKiper = 5;
040 }
041 else
042 {
043 posisiGerakKiper = 0;
044 }
045
046 kiper._x += posisiGerakKiper;
047
048 if(Key.isDown(Key.LEFT))
049 {
050 pemain._x -= 10;
051 }
052
053 if(Key.isDown(Key.RIGHT))
054 {
055 pemain._x += 10;
056 }
057
058 if(pemain._x < 50 || pemain._x > 200)
059 {
060 pemain._x = posisiPemain;
061 }
062
063 if(Key.isDown(Key.SPACE))
064 {
065 tenaga = (Math.floor(Math.random() * (9)) + 6) * 10;
066 bolaDitendang();
067 }
068 }
069 Key.addListener(listenerKey);
070
071 function attachSetScaleDanXY(id:String, namaBaru:String, skala:Number, xx:Number, yy:Number, depth:Number)
072 {
073 attachMovie(id, namaBaru, depth);
074 setProperty(namaBaru, _xscale, skala)
075 setProperty(namaBaru, _yscale, skala)
076 setProperty(namaBaru, _x, xx);
077 setProperty(namaBaru, _y, yy);
078 }
079
080 function bolaDitendang()
081 {
082 delete listenerKey.onKeyDown;
083 posisiBolaSemula = bola._y;
084
085 bola.onEnterFrame = function()
086 {
087 if(kiper._x - bola._x > 10)
088 {
089 posisiGerakKiper = -20;
090 }
091 else if(kiper._x - bola._x < -10)
092 {
093 posisiGerakKiper = 20;
094 }
095 else
096 {
097 posisiGerakKiper = 0;
098 }
099
100 kiper._x += posisiGerakKiper;
101 kiper._rotation += posisiGerakKiper / 2;
102
103 if(tenaga > 90)
104 {
105 kiper._y -= 1;
106 }
107
108 bola._y -= tenaga / 10;
109 bola._x += (tenaga / 10) - ((posisiPemain - 150) / 10);
110
111 setProperty(bola, _xscale, getProperty(bola, _y) / posisiBolaSemula * 100);
112 setProperty(bola, _yscale, getProperty(bola, _y) / posisiBolaSemula * 100);
113
114 if((posisiBolaSemula - bola._y) > (tenaga * 2))
115 {
116 delete bola.onEnterFrame;
117 if(bola.hitTest(kiper.tangkapan))
118 {
119 keterangan.gotoAndStop("frameBlocked");
120 bola.gotoAndStop("frameKena");
121 }
122 else if((bola._x > 200) && (bola._x < 500) && (bola._y > 60) && (bola._y < 200))
123 {
124 keterangan.gotoAndStop("frameGol");
125 }
126 else
127 {
128 keterangan.gotoAndStop("frameOut");
129 }
130 }
131 }
132 }
133 }
Membuat Game Matematika
Dalam tutorial ini kita akan membuat
sebuah game aritmatika sederhana menggunakan flash. Anda dapat
menggunakan Macromedia Flash 8 atau Adobe Flash CS 3 dalam
pembuatannya.
Langkah
1: Buka sebuah file baru dengan ukuran default (550 x 440) , ubah
warna background menjadi hijau. Buatlah sebuah tulisan judul “Online
Test”. Selanjutnya buatlah sebuah kotak berwarna merah dengan garis
tepi putih. Perhatikan Gambar
Langkah 2 : Tambahkan di atas kotak merak tersebut dynamic text dan beri nama variabelnya “angka_1″, Copy dynamic text tersebut dan pastekan di sampingnya, ubah nama variablenya menjadi “angka_2″, sisipkan ditengah-tengahnya tanda tambah menggunakan static teks dan tanda sama dengan setelah teks angka_2. Kemudian buat lagi input teks dengan nama variabelnya “jawab”, beri juga nama instance namenya dengan nama “answerBox” dan pilih “show border around text”. Perhatikan gambar
Langkah 3 : buat 2 buah tombol di bawah kotak merah masing-masing dengan nama tombol random dan tombol check.
Langkah 4 : Buat sebuah movie clip
dari static teks, misalnya “Correct Answer”, beri nama instancenya
“true_answer”. Klik 2 kali movie clip tersebut untuk masuk ke area
movie clip “true_answer”, Klik frame 1, tahan dan geser ke frame 2,
sehingga tidak ada objek di frame 1, lalu klik frame 10, klik kanan
dan pilih insert keyframe. kembali ke frame 1 tekan tombol F9 dan
masukkan kode berikut:
stop();
Langkah 5 : Ulangi langkah 4 untuk jawaban yang salah, namun tulisannya adalah “Wrong Answer, try again”. beri nama instancenya “wrong_answer”.
Langkah 6 : Kembali ke stage utama, tambahkan sebuah layer action, klik frame 1 layer action dan masukkan action script berikut:
problem();
function problem() {
var _loc1 = 2+random(8);
var _loc2 = 2+random(8);
angka_1 = Math.floor(_loc1);
angka_2 = Math.floor(_loc2);
jawab = “”;
Selection.setFocus(_root.answerBox);
stage.focus = _root.answerBox;
_root.answerBox.setSelection(0, 1);
}
function check_answer() {
if (angka_1+angka_2 == jawab) {
true_answer.play();
problem();
} else {
wrong_answer.play();
Selection.setFocus(_root.answerBox);
}
}
Langkah 7 : Klik tombol random dan masukkan action script berikut:
on (press) {
problem();
}
Langkah 8: Klik tombol check dan masukkan action script berikut:
on (press) {
check_answer();
}
Untuk melihat hasilnya klik link berikut ini http://janggeng.blogspot.com/2009/06/membuat-game-flash-matematika-sederhana.html
Membuat Animasi Transformers Sederhana Dengan Adobe Flash
Langkah 1
Buka Program Adobe Flash.
Langkah 2
Pada tutorial ini saya menggunakan, gambar yang telah didownload, yang nantinya akan ditracing menggunakan pen tool.
Sebelum di tracing
Sesudah di tracing
Langkah 3
Pada Timeline, tentukan keyframe pada
masing-masing frame. Pada tutorial ini, saya menentukan keyframe pada
masing-masing frame 1 dan frame 30 yang akan diberi motion tween.
Langkah 4
Pada frame 1, letakkan objek mobil (hasil trace) pada bagian luar stage.Langkah 5
Pada frame 30, letakkan objek mobil (hasil trace) pada bagian dalam stage.Langkah 6
Pada frame 31 dan 40, tambahkan keyframe, dan masukkan gambar robot yang telah di trace pada frame ke 40 (gambar mobil hasil trace di hilangkan).Kemudian, pada frame 1 sampai frame 30 beri motion tween. Dan pada frame 31 sampai 40 shape tween.
Pada frame 50, insert frame.
Simpan filenya dan tekan Ctrl + Enter, untuk melihat hasil animasi pada flash player. Selamat mencoba ^_^
Hasil akhir
Pengertian Adobe Flash
Adobe Flash (dahulu bernama Macromedia Flash) adalah salah satu perangkat lunak komputer yang merupakan produk unggulan Adobe Systems. Adobe Flash digunakan untuk membuat gambar vektor maupun animasi gambar tersebut. Berkas yang dihasilkan dari perangkat lunak ini mempunyai file extension .swf dan dapat diputar di penjelajah web yang telah dipasangi Adobe Flash Player. Flash menggunakan bahasa pemrograman bernama ActionScript yang muncul pertama kalinya pada Flash 5.
Sebelum tahun 2005, Flash dirilis oleh Macromedia. Flash 1.0 diluncurkan pada tahun 1996 setelah Macromedia membeli program animasi vektor bernama FutureSplash. Versi terakhir yang diluncurkan di pasaran dengan menggunakan nama 'Macromedia' adalah Macromedia Flash 8. Pada tanggal 3 Desember 2005 Adobe Systems mengakuisisi Macromedia dan seluruh produknya, sehingga nama Macromedia Flash berubah menjadi Adobe Flash.
Adobe Flash merupakan sebuah program yang didesain khusus oleh Adobe dan program aplikasi standar authoring tool professional yang digunakan untuk membuat animasi dan bitmap yang sangat menarik untuk keperluan pembangunan situs web yang interaktif dan dinamis. Flash didesain dengan kemampuan untuk membuat animasi 2 dimensi yang handal dan ringan sehingga flash banyak digunakan untuk membangun dan memberikan efek animasi pada website, CD Interaktif dan yang lainnya. Selain itu aplikasi ini juga dapat digunakan untuk membuat animasi logo, movie, game, pembuatan navigasi pada situs web, tombol animasi, banner, menu interaktif, interaktif form isian, e-card, screen saver dan pembuatan aplikasi-aplikasi web lainnya. Dalam Flash, terdapat teknik-teknik membuat animasi, fasilitas action script, filter, custom easing dan dapat memasukkan video lengkap dengan fasilitas playback FLV. Keunggulan yang dimiliki oleh Flash ini adalah ia mampu diberikan sedikit code pemograman baik yang berjalan sendiri untuk mengatur animasi yang ada didalamnya atau digunakan untuk berkomunikasi dengan program lain seperti HTML, PHP, dan Database dengan pendekatan XML, dapat dikolaborasikan dengan web, karena mempunyai keunggulan antara lain kecil dalam ukuran file outputnya
Movie-movie Flash memiliki ukuran file yang kecil dan dapat ditampilkan dengan ukuran layar yang dapat disesuaikan dengan keingginan. Aplikasi Flash merupakan sebuah standar aplikasi industri perancangan animasi web dengan peningkatan pengaturan dan perluasan kemampuan integrasi yang lebih baik. Banyak fiture-fiture baru dalam Flash yang dapat meningkatkan kreativitas dalam pembuatan isi media yang kaya dengan memanfaatkan kemampuan aplikasi tersebut secara maksimal. Fiture-fiture baru ini membantu kita lebih memusatkan perhatian pada desain yang dibuat secara cepat, bukannya memusatkan pada cara kerja dan penggunaan aplikasi tersebut. Flash juga dapat digunakan untuk mengembangkan secara cepat aplikasi-aplikasi web yang kaya dengan pembuatan script tingkat lanjut. Di dalam aplikasinya juga tersedia sebuah alat untuk men-debug script. Dengan menggunakan Code hint untuk mempermudah dan mempercepat pembuatan dan pengembangan isi ActionScript secara otomatis. Untuk memahami keamanan Adobe Flash dapat dilihat dari beberapa sudut pandang, berdasarkan beberapa sumber referensi bahwa tidak ada perbedaan menyolok antara HTML dan JavaScript dimana didalamnya terdapat banyak tools yang dapat diambil dari SWF termasuk ActionScript. Sehingga kode data dapat terjamin keamanannya. Oleh sebab itu, semua kebutuhan data yang terdapat dalam SWF dapat diambil kembali melalui server. Keuntungan menggunakan metode yang sama dengan menggunakan aplikasi web yang standar adalah akan menjamin dan mengamankanpenyimpanan dan perpindahan data.
Langganan:
Postingan (Atom)