Friday, February 22, 2013

Membuat Kalkulator dengan Flash 8



Awalnya saya mengira software Macromedia Flash hanya dapat membut file animasi yang berekstensi swf. Ternyata software Macromedia Flash tidak hanya dapat membuat file animasis saja, tapi juga dapat membuat file pemrogaman seperti calculator pada gambar di samping. Berikut adalah cara pembuatan kalkulator sederhana dengan menggunakan macromedia flash 8 :

Tahap I. Membuat Tampilan Tombol
  • Bukalah flash document, kemudian insert dua layer baru, sehingga layer menjadi tiga buah masing-masing diberi nama, Teks, Tombol, actions.
  • Pada layer tombol, buatlah button 0-9, tombol decimal, AC, CE dan tombol operasi ; “+”, ”-“.”, “x”, dan “:”.Atau ambil button yang telah disediakan pada macromedia flash 8, ambil di windows ==> components (Ctrl+F7). Setelah itu beri label untuk setiap tombol. Kemudian untuk setiap tombol berikan instance name sebagai berikut:
“0” = my0
“1” = my1
“2” = my2
“3” = my3
“4” = my4
“5” = my5
“6” = my6
“7” = my7
“8” = my8
“9” = my9
“.” = myDesimal
“AC” = myClear
“CE” = myClearEntry
"+" = myPlus
"-" = myMinus
"/" = myDivide
"x" = myTimes
"=" = myEquals
Tahap II. Menambah Teks Box
Tahap II.Membuat tempat menampilkan angka dan hasil dari perhitungan.
  • Pada bagian atas kalkulator buatlah sebauh TextBox pada layer Teks dengan property dynamic text dengan var myNumber.
  • Pilih Insert => New Symbol, buatlah sebuah movie clip dengan nama FakeZero. Gunakan texttool untuk membuat nol. Aturlah ukuran, font dan warna. Klick scene1 untuk kembali ke Timeline.
  • Pada layer Teks, draglah sebuah instance dari FakeZero, dan instance name pada property beri nama myFakeZero.
Tahap III. Menambah Action Script.
Selanjutnya tinggal menambahkan action script. Ketiklah action Script seperti dibawah ini di Frame1 pada layer action.
myOp="";
lastNumber=0;
thisNumber=0;
myNumber="";
newNum=true;
my1.onRelease=function () {
numberPress (1);
}
my2.onRelease=function () {
numberPress (2);
}
my3.onRelease=function () {
numberPress (3);
}
my4.onRelease=function () {
numberPress (4);
}
my5.onRelease=function () {
numberPress (5);
}
my6.onRelease=function () {
numberPress (6);
}
my7.onRelease=function () {
numberPress (7);
}
my8.onRelease=function () {
numberPress (8);
}
my9.onRelease=function () {
numberPress (9);
}
myDesimal.onRelease=function () {
numberPress(".");
}
my0.onRelease=function () {
numberPress(0);
}
function numberPress (whichKey) {
if (newNum) {
setProperty("myFakeZero",_visible,false);
myNumber=string(whichKey);
}else{
myNumber=myNumber+string(whichKey);
}
newNum=false;
}
myPlus.onRelease=function () {
myOperator("add");
}
function myOperator (myNewOp) {
thisNumber=Number (myNumber);
if (myOp=="add") {
myNumber=lastNumber+thisNumber;
thisNumber=myNumber;
}
if (myOp=="subtract") {
myNumber=lastNumber-thisNumber;
thisNumber=myNumber;
}
if (myOp=="times") {
myNumber=lastNumber*thisNumber;
thisNumber=myNumber;
}
if (myOp=="divide") {
myNumber=lastNumber/thisNumber;
thisNumber=myNumber;
}
lastNumber=thisNumber;
newNum=true;
myOp=myNewOp;
}
myMinus.onRelease=function () {
myOperator ("subtract");
}
myTimes.onRelease=function () {
myOperator ("times");
}
myDivide.onRelease=function () {
myOperator ("divide");
}
myClear.onRelease=function () {
myOp="";
lastNumber=0;
thisNumber=0;
myNumber="0";
newNum=true;
setProperty ("myFakeZero",_visible,true);
}
myClearEntry.onRelease=function () {
myNumber="";
newNumber=true;
setProperty ("myFakeZero",_visible,true)
}
myEquals.onRelease=function () {
thisNumber=Number (myNumber);
newNum=true;
if (myOp=="add") {
myNumber=lastNumber+thisNumber;
}
if (myOp=="subtract") {
myNumber=lastNumber-thisNumber;
}
if (myOp=="times") {
myNumber=lastNumber*thisNumber;
}
if (myOp=="divide") {
myNumber=lastNumber/thisNumber;
}
lastNumber=0;
myOp="";
}


Kemudian tekan Ctrl+Enter untuk test movie. Hasil tampilan yang uda jadi seperti gambar di bawah ini:

Selamat Mencoba! Mudah-mudahan berhasil…
Kalo ada masalah hub:
email : chak.wana@yahoo.com

No comments:

Post a Comment