MACROMEDIA FLASH MX
II
OLEH :
ROBY SUSANTO
PSPTEI.Corp
PUSAT STUDI PENGEMBANGAN TEKNOLOGI
ELEKTRONIKA DAN INFORMASI TEKNIK ELEKTRO
UNIVERSITAS MERDEKA MALANG
MALANG
2005
PENDAHULUAN
Complex preloader
Preloader merupakan sebuah loder yang sangat berguna dalam sebuah permainan flash
karena dengan menggunakan loader tersebut pengunjung / user tidak akan merasa bosan
dan beranjak dari flash yang telah kita buat.
Langkah membuat preloader.
• Buat sebuah permainan dalam library (movie clip) yang menggunakan 3 layer
• Buat tulisan LOADING pada layer 1
• Buat bar outline / kotak (bingkai loader) pada layer 2
• Buat bar movie clip pada layer 3
• Sekarang kembali ke scane
• Buatlah 3 layer pada scane dimana layer 1 diberi nama loader, layer 2 dengan
nama movie utama, layer 3 dengan nama action.
• Pada layer 3 di frame 1 dan 2 isikan action “stop”
• Pada layer 2 di frame 1 di kosongkan dan pada frame 2 di isi dengan apa yang
akan di tampilkan
• Pada layer 1 di frame 1 masukkan preloader yang telah kita buat dalam library,
berikan intruksi pada action scrip sebagai berikut
onClipEvent (enterFrame) {
loadedbytes=_root.getBytesLoaded();
totalbytes=_root.getBytesTotal();
if (loadedbytes>=totalbytes) {
_root.gotoAndPlay (2);
} else {
frame=Math.floor(loadedbytes/totalbytes*50);
this.gotoAndStop(frame);
}
}
• Cobalah lihat apa yang telah di hasilkan
Teks berputar
Cara membuat
• Buatlah text terserah anda misalnya percobaan 1
• Setelah itu jadikan text tersebut movie clip
• Masukkan baris instruksi berikut
onClipEvent (load) {
perubahan=5;
}
onClipEvent (enterFrame) {
this._rotation=this._rotation+perubahan;
}
• Cobalah
draggable mask
cara membuat :
• buatlah 2 layer pada layer 1 beri nama masked dan layer 2 mask
• pada layer 1 buatlah / masukkan gambar yang berupa movie clip sehingga
tersimpan dalam library
• pada layer 2 buatlah lingkaran atau sesuai selera jadikan movie clip agar
tersimpan pada library
• layer 2 pada movie clip tersebut masukkan baris intruksi berikut
onClipEvent(load) {
_root.myMasked.setMask(_root.myMask);
}
onClipEvent(mouseMove) {
startDrag(_root.myMask, true)
}
• cobalah (pada label masukkan tulisan myMask dan myMasked)
trails
cara membuat:
• buat library sebuah movie clip
• keluarkan library tersebut menjadi 3 frame
• pada frame 1 isikan perintah ini pada stage
startDrag(trail1, true);
• pada frame 2 isikan perintah ini pada stage
copy = copy+1;
if (copy>10) {
copy = 1;
}
duplicateMovieClip("trail1", "trail"+copy, copy);
• pada frame 3 isikan perintah ini pada stage
gotoAndPlay(2);
• selamat mencoba
updateAfterEvent();
}
• Buat layer baru / layer 2 masukkan gambar yang telah di import dalam library ke
layer 2 pada instant name isikan nama movie clip
• Cobalah jalankan….?!!!
Drag
• Buat sebuah object menggunakan movie clip misalnya kotak
• Buat tombol dengan mengcopy object tersebut buat ukurannya lebih besar dari
ukuran semula dan letakkan pada posisi HIT
• Buat layer baru pada movie clip yang telah kita buat dan letakkan tombol tersebut
• Berikan perintah pada tombol tersebut / letaknya pada layer 2 diatas
on (press) {
startDrag(this);
}
on (release) {
stopDrag();
}
• Coba lihat hasil anda
Drop Target
Drop target merupakan sebuah tambahan action scrip dari Drag sehingga kita hanya perlu
menambahkan gambar movie clip tong sampah pada scane layer 1 frame 1. dan
menambahkan action scrip seperti berikut ini:
on (press) {
startDrag(this);
}
on (release) {
stopDrag();
if (this._droptarget=="/tongsampah") {
this._visible=0;
} else {
setProperty(this, _x, 400);
setProperty(this, _y, 100);
}
}
Selamat mencoba ^_^!!!?
Tugas buatlah puzel menggunakan teknik Drag dengan action scrip sebagai
berikut
on (press) {
startDrag (this);
this.swapDepths( 2 );
}
on (release) {
stopDrag ();
}
Amati dan berikomentar
Custom cursor
• Buat movie clip yang ujungnya lancip / tajam
• Letakkan pada scane layer 1
• Masukkan baris intruksi berikut ini….
onClipEvent (load) {
Mouse.hide();
}
onClipEvent (mouseMove) {
_root.rocket._x = _root._xmouse;
_root.rocket._y = _root._ymouse;
updateAfterEvent();
}
• Jalankan
Area cursor
Ini hanya melanjutkan dari custom cursor, coba tambahkan layer pada scane letakkan di
bawah buat seperti contoh berikut:
pada cursor masukkan action scrip
berikut ini :
onClipEvent (load) {
Mouse.hide();
}
onClipEvent (mouseMove) {
Mouse.hide();
_root.rocket._x = _root._xmouse;
_root.rocket._y = _root._ymouse;
if ((_root._ymouse>0 && _root._ymouse<50) && (_root._xmouse>0 &&
_root._xmouse<550)) {
_root.rocket._xscale = 50;
_root.rocket._yscale = 50;
_root.rocket._rotation = 0;
_root.rocket._alpha = 100;
} else if ((_root._ymouse>50 && _root._ymouse<350) && (_root._xmouse>400
&& _root._xmouse<550)) {
_root.rocket._xscale = 100;
_root.rocket._yscale = 100;
_root.rocket._rotation = 0;
_root.rocket._alpha = 50;
} else if ((_root._ymouse>350 && _root._ymouse<400) && (_root._xmouse>0
&& _root._xmouse<550)) {
_root.rocket._xscale = 100;
_root.rocket._yscale = 100;
_root.rocket._rotation = 225;
_root.rocket._alpha = 100;
} else {
_root.rocket._xscale = 100;
_root.rocket._yscale = 100;
_root.rocket._rotation = 0;
_root.rocket._alpha = 100;
}
updateAfterEvent();
}
Permainan warna
• Buat leyer sebanyak 5 dengan nama “warna, outline, button, test, action”
• Buat outline menggunakan movie clip
• Buat movie clip untuk warna menggunakan outline
• Buat tombol dan letakkan pada layer button sebanyak 3 buah
• Bila sudah pada layer dengan nama action masukkan action scrip berikut
warnasofa = new Color(sofa); //menggunakan
variable
• Pada buton 1 berikan action scrip berikut
on (rollOver) {
_root.warnasofa.setRGB(0xFF0000);
}
• Pada buton 2 berikan action scrip berikut
on (rollOver) {
_root.warnasofa.setRGB( 0x00FF00 );
}
• Pada buton 1 berikan action scrip berikut
on (rollOver) {
_root.warnasofa.setRGB( 0xFFFF00 );
}
• Pada layer dengan nama warna lihat properties dan isikan instant name “sofa”
• Coba jalankan…?!!!!
Copy / stamp
Pada dasarnya teknik ini serupa dengan drag
• Buat lingkaran dengan tulisan di tengahnya jadikan movie clip
• Pada movie clip ini buat layer baru dengan membuat tombol pada posisi HIT
• Masukkan baris instruksi berikut ini
on (press) {
duplicateMovieClip(this,"stempel"+_root.jumlah,_root.jumlah);
_root.jumlah++;
startDrag(this);
}
on (release) {
stopDrag();
}
• Pada scane, frame 1 isikan action scrip berikut
jumlah = 1;
• Coba amati dan komentarin
Replay Object
Buat movie clip “bulat” dalam library
Tambahkan layer buat tombol pada layer tersebut dengan posisi HIT
Berikan instruksi berikut pada object
on (press) {
startDrag(this);
}
on (release) {
stopDrag();
}
Keluarkan dan berikan insteruksi berikut
onClipEvent (load) {
captureX=new Array();
captureY=new Array();
}
onClipEvent(mouseDown) {
captureX.length=0;
captureY.length=0;
mode="record";
}
onClipEvent(mouseUp) {
mode="play";
counter=0;
}
onClipEvent(enterFrame) {
if (mode=="record") {
captureX.push(this._x);
captureY.push(this._y);
}
if (mode=="play") {
this._x=captureX[counter];
this._y=captureY[counter];
counter=counter+1;
}
updateAfterEvent();
}
Konversi suhu
Buat 2 buah layer
Pada layer1 isi tombol dan 2 text text 1 = celcius dan text 2 = Fahrenheit
Pada layer 2 buat 2 buah text dengan input text masing-masing var di isi
Pada tombol isikan baris intruksi berikut
on (release) {
fahrenheit=9/5*celcius+32;
}
Pada layer 2 isikan instruksi berikut
celcius="";
fahrenheit="";
stop();
Selamat mencoba
Membuat password
Buat layer secukupnya untuk text, tombol, action, input text, dan dynamic text,
juga hal
Pada layer text buat tulisan masukkan nama anda dan password disini , login
Pada layer tombol letakkan tombol dan berikan instruksi berikut
on (release) {
if (password == "abcd") {
nextFrame();
} else {
warning = "Hi, "+nama+" password Anda salah, silakan ulangi
lagi";
}
}
Pada layer action berikan instruksi stop baik frame1 maupun frame2
Pada input text var isikan dengan nama / posisi sigle begitu juga password
Pada layer dynamic. Var isi “warning”
Selamat mencoba analisa dan cari kelemahannya.
Kalkulator
Buat 3 layer dengan nama action, display, tombol
Pada layer action masukkan baris intruksi berikut ini
Pada layer tombol buat layout untuk kalkulator dan letakkan tombol
Pada layer display isikan dengan text berbasis dynamic text dengan var display
Kembali pada tombol akan di bahas fungsi tombol kalkulator yaitu:
Pada tombol C digunakan sebagai reset. Instruksinya adalah
on (release) {
display="";
operation="no";
}
Pada tombol + digunakan untuk penjumlahan instruksinya adalah
on (release) {
if (operation=="no") {
display=display+"+";
operation="tambah";
}
}
Pada tombol / digunakan untuk penjumlahan instruksinya adalah
on (release) {
if (operation=="no") {
display=display+"/";
operation="bagi";
}
}
Pada tombol X digunakan untuk penjumlahan instruksinya adalah
on (release) {
if (operation=="no") {
display=display+"*";
operation="kali";
}
}
Pada tombol (-) digunakan untuk penjumlahan instruksinya adalah
on (release) {
if (operation=="no") {
display=display+"-";
operation="kurang";
}
}
Pada tombol (. )digunakan untuk penjumlahan instruksinya adalah
on (release) {
display=display+".";
}
Pada tombol angka digunakan untuk penomoran instruksinya adalah
on (release) {
display=display+"0 s/d 9";
}
Pada tombol (=) digunakan untuk melihat hasil instruksinya adalah
on (release) {
if (operation=="tambah") {
myArray=display.split("+");
number1=Number(myArray[0]);
number2=Number(myArray[1]);
total=number1+number2;
display=total;
operation="no";
}
if (operation=="kurang") {
myArray=display.split("-");
number1=Number(myArray[0]);
number2=Number(myArray[1]);
total=number1-number2;
display=total;
operation="no";
}
if (operation=="kali") {
myArray=display.split("*");
number1=Number(myArray[0]);
number2=Number(myArray[1]);
total=number1*number2;
display=total;
operation="no";
}
if (operation=="bagi") {
myArray=display.split("/");
number1=Number(myArray[0]);
number2=Number(myArray[1]);
total=number1/number2;
display=total;
operation="no";
}
}
Memunculkan Waktu
Caranya sama hanya lebih sederhana yaitu
Buat movie clip letakkan di scane beri instruksi berikut
onClipEvent (enterFrame) {
myTime = new Date ();
jam = myTime.getHours ();
menit = myTime.getMinutes ();
detik = myTime.getSeconds ();
if (jam>12) {
jam=jam-12;
} else if (jam==0) {
jam=12;
}
if (menit<10) {
menit="0"+menit;
}
if (detik<10) {
detik="0"+detik;
}
waktu=jam+" : "+menit+" : "+detik;
}
Selamat mencoba
Efek Jarak
Buat 2 layer dengan nama grid dan karakter
Pada grid buat gambar garis seperti susunan lantai keramik dan jadikan movie clip
Pada karakter buat movie clip di symbol
Buat 2 layer layer1 graphic “isi instant name” layer2 button pada button buat dalam
posisi HIT beikan instruksi berikut
on (press) {
startDrag(this,false,left,top,right,bottom);
}
on (release) {
stopDrag();
}
Kembali pada scane
Klik pada karakter berikan instruksi berikut
onClipEvent(load) {
myBounds = _root.grid.getBounds(_root);
top=myBounds.yMin;
bottom=myBounds.yMax
left=myBounds.xMin;
right=myBounds.xMax;
maxZ=bottom;
minZ=top-50;
}
onClipEvent(mouseMove){
newScale=(100/(maxZ-minZ))*(this._y-minZ);
this._xscale=newScale;
this._yscale=newScale;
}
Selamat mencoba dech
Efek suara
Load /unload suara
Buat musik jadikan file SWF
Buat file baru buat 2 buah tombol
pada tombol satu isiskan play musix berikan instruksi berikut
on (release) {
loadMovieNum("kocenk.swf", 1);
}
pada tombol dua isikan unload musix berikan instruksi berikut
on (release) {
unloadMovieNum(1);
}
coba sapa tau gagal ^_^!!!?
Pengontrol suara
buat 5 layer,action, sound, text, button, wav
pada frame action masukkan instruksi ini
s = new Sound(_root.musik);
pada sound buat library dengan nama sound
didalam library sound buat 3 layer, action, frame label, musix
pada layer action masukkan instruksi ini
s = new Sound(_root.musik);
pada layer frame label buat label stop pada frame 1 s/d 20 dapa 21 s/d 40 label
play
pada layer musix frame 40 masukkan musix
kembali ke scane
pada layer tombol buat beberapa tombol diantaranya tombol start, stop, dan
beberapa tombol untuk volume, dan tombol centre, beberapa tombol right, dan
left
pada tombol start isikan instruksi berikut:
on (release) {
musik.gotoAndStop("Play");
wave.gotoAndPlay("Play");
}
pada tombol stop isikan instruksi berikut
on (release) {
musik.gotoAndStop("Stop");
wave.gotoAndStop("Stop");
stopAllSounds();
}
pada centre isikan
on (rollOver) {
s.setPan(0);
}
pada volume musix untuk suara besar
on (rollOver) {
s.setVolume(100);
}
pada volume musix suara kecil
on (rollOver) {
s.setVolume(0);
}
pada left / right
on (rollOver) {
s.setPan(-100 / 100);
}
selamat mencoba
onClipEvent(enterFrame){
if (dragging==true){
_root.s.setVolume((right-_x)/2.5);
}
}
• pada batasan buatlah garis sebagai landasan volume
• ingat pada instant name , jalankan selamat mengkoreksi
Game Flash
Dasar Perpindahan Object
Buat object / gambar misalkan jadikan movieclip berikan instruksi berikut ini:
onClipEvent (enterFrame) {
if (Key.isDown(Key.UP) && Key.isDown(Key.RIGHT)) {
this._rotation = 45;
this._y = _y-15;
this._x = _x+15;
} else if (Key.isDown(Key.RIGHT) && Key.isDown(Key.DOWN)) {
this._rotation = 135;
this._y = _y+15;
this._x = _x+15;
} else if (Key.isDown(Key.LEFT) && Key.isDown(Key.DOWN)) {
this._rotation = 225;
this._y = _y+15;
this._x = _x-15;
} else if (Key.isDown(Key.UP) && Key.isDown(Key.LEFT)) {
this._rotation = 315;
this._y = _y-15;
this._x = _x-15;
} else if (Key.isDown(Key.UP)) {
this._rotation = 0;
this._y = _y-30;
} else if (Key.isDown(Key.DOWN)) {
this._rotation = 180;
this._y = _y+30;
} else if (Key.isDown(Key.RIGHT)) {
this._rotation = 90;
this._x = _x+30;
} else if (Key.isDown(Key.LEFT)) {
this._rotation = -90;
this._x = _x-30;
}
}
Cobalah….
Effect Tumbukan
• Buatlah movieclip dengan 3 layer : action, tombol, object.
Pada action isi scrip “stop”
Pada tombol buat object letakkan pada posisi HIT berikan instruksi berikut
on (press) {
startDrag(this);
}
on (release) {
stopDrag();
}
Pada object buat gambar yang serupa dengan posisi hit tombol di frame 1 pada
frame 2 bikin gambar seperti ledakan
• Keluarkan movieclip yang baru anda buat dan berikan baris instruksi berikut ini
onClipEvent (enterFrame) {
if (this.hitTest(_root.asteroid) == true) {
this.gotoAndPlay(2);
}
}
• Buat layer baru letakkan di bawah “buat object bergerak dari kiri ke kanan” dan
pada instant name di isi >>>> asteroid
• Selamat mencoba
Game Over
• Buat 3 layer : action, display, object
• Pada layer action berisi “Stop”
• Pada display buat movie clip dengan jenis text Dynamic. var waktu
• Keluarkan pada scan berikan instruksi
onClipEvent(enterFrame) {
currentTime=getTimer();
waktu=Math.round(10-(currentTime/1000))
if (waktu<=0) {
_root.gotoAndStop(3);
}
}
• Coba Display
Perang Game
• Buat 3 layer; border, pesawat, begron
• Pada border buat movie clip garis batasan
• Pada pesawat buat object pesawat berikan instruksi
onClipEvent (load) {
speed = 10;
_root.laser._visible=0;
jumlahlaser=1;
}
onClipEvent (enterFrame) {
if (Key.isDown(Key.RIGHT)) {
this._x=_x+speed;
} else if (Key.isDown(Key.LEFT)) {
this._x=_x-speed;
}
if (this._x<=50) {
this._x=50;
} else if (this._x>=600) {
this._x=600;
}
if (Key.isDown(Key.CONTROL)) {
if (jumlahlaser==1) {
duplicateMovieClip (_root.laser,
"laser"+jumlahlaser, jumlahlaser);
jumlahlaser=0;
}
}
}
• Pada begron masukkan begron yang sesuai
• Coba jalankan koreksi oiya ada yang lupa
• Pada pesawat buat movieclip dengan nama laser masukkan garis bentuk seperti
misil berikan instruksi
onClipEvent (load) {
laserspeed=10;
this._x=_root.pesawat._x;
this._y=_root.pesawat._y-30;
}
onClipEvent (enterFrame) {
this._y=this._y-laserspeed;
if (this.hitTest(_root.upperBorder)) {
_root.pesawat.jumlahlaser=1;
removeMovieClip (this);
}
}
• Nach sekarang baru di coba ^_^!!!?
Percobaan diatas blom ada musuhnya sekarang akan membuat musuh nich..?!!!
• Buat 7 layer : begron,pesawat,upborder,bottomborder,musuh,gameover,action.
• Pada action masukkan baris instruksi berikut
startX=new Array
(100,150,200,250,300,350,400,450,500,550,100,150,200,250,300,350,400,450,
500,550);
startY=new Array
(100,100,100,100,100,100,100,100,100,100,150,150,150,150,150,150,150,150,
150,150)
for (i=0;i<20;i++) {
duplicateMovieClip(enemy, "enemy"+i, i+10);
_root["enemy"+i]._x=startX[i]
_root["enemy"+i]._y=startY[i]
}
_root.enemy._visible=0;
score=0;
enemyBlown=0;
suara1=new Sound();
suara1.attachSound("loop");
suara1.start(0,999);
suara1.setVolume(50);
suara2=new Sound();
suara2.attachSound("shot");
suara3=new Sound();
suara3.attachSound("explode");
stop();
stop();
• Pada musuh buat movieclip bergerak dengan nama “musuh”
• Buat lagi movieclip ambil musuh dalam library buat bergeser dari kiri ke kanan
ke kiri lagi 2 kalinya lalu kembali ke posisi semula bila sudah letakkan pada layer
musuh.dan berikan instruksi berikut ini:
onClipEvent (load) {
enemySpeed=20;
delay=5;
startTimer=0;
}
onClipEvent (enterFrame) {
currentTimer=Math.round(getTimer()/1000);
if (currentTimer-startTimer==delay) {
this._y=this._y+enemySpeed;
startTimer=currentTimer;
}
if (this.hitTest(_root.laser1)) {
_root.attachMovie("ledakan", "ledakan1", 5);
_root.ledakan1._x=_root.laser1._x;
_root.ledakan1._y=_root.laser1._y-20;
_root.pesawat.jumlahlaser=1;
removeMovieClip(this);
removeMovieClip(_root.laser1);
}
if (this.hitTest(_root.pesawat)) {
_root.attachMovie("ledakanCopy", "ledakanCopy1", 6);
_root.ledakanCopy1._x=_root.pesawat._x;
_root.ledakanCopy1._y=_root.pesawat._y;
_root.ledakanCopy1._xscale=150;
_root.ledakanCopy1._yscale=150;
removeMovieClip(this);
removeMovieClip(_root.pesawat);
}
if (this.hitTest(_root.bottomBorder)) {
_root.attachMovie("ledakanCopy", "ledakanCopy1", 7);
_root.ledakanCopy1._x=this._x;
_root.ledakanCopy1._y=this._y;
_root.ledakanCopy1._xscale=150;
_root.ledakanCopy1._yscale=150;
removeMovieClip(this);
}
}
• Pada buttonBorder buat movie clip berupa garis letakkan di bawah scan
• Pada upborder lakukan hal yang sama letakkan di atas ingat border sebagai batas
• Pada pesawat sama seperti contoh di atas isikan instruksi berikut:
onClipEvent (load) {
speed = 10;
_root.laser._visible=0;
jumlahlaser=1;
}
onClipEvent (enterFrame) {
if (Key.isDown(Key.RIGHT)) {
this._x=_x+speed;
} else if (Key.isDown(Key.LEFT)) {
this._x=_x-speed;
}
if (this._x<=50) {
this._x=50;
} else if (this._x>=600) {
this._x=600;
}
if (Key.isDown(Key.CONTROL)) {
if (jumlahlaser==1) {
duplicateMovieClip (_root.laser, "laser"+jumlahlaser,
jumlahlaser);
jumlahlaser=0;
}
}
}
• Begitu juga dengan lasernya instruksinya sebagai berikut
onClipEvent (load) {
laserspeed=10;
this._x=_root.pesawat._x;
this._y=_root.pesawat._y-30;
}
onClipEvent (enterFrame) {
this._y=this._y-laserspeed;
if (this.hitTest(_root.upperBorder)) {
_root.pesawat.jumlahlaser=1;
removeMovieClip (this);
}
}
• Begron juga sama sich ^_^!!!? Yang belum di bahas apa yach oiya layer “Game
Over. Nach pada layer ini buat di frame2 tulisan Game Over
• Selesai dech di coba dan analisa
Final Game
Kali ini hanya mempercantik game yaitu hanya menambah nilai score dan suara
• Buat 8 layer; win, Game Over, Score, Musuh, Bottomborder, upborder, pesawat,
background
• Pada Game Over sama seperti di atas
• Pada score buat text dynamic dengan var score letakkan pada frame 1 dan 2 atur
posisinya
• Pada layer musuh sama var enemy dengan action scrip:
onClipEvent (load) {
enemySpeed=20;
delay=5;
startTimer=0;
}
onClipEvent (enterFrame) {
currentTimer=Math.round(getTimer()/1000);
if (currentTimer-startTimer==delay) {
this._y=this._y+enemySpeed;
startTimer=currentTimer;
}
if (this.hitTest(_root.laser1)) {
_root.suara3.start(0,1);
_root.score=_root.score+100;
_root.enemyBlown=_root.enemyBlown+1;
_root.attachMovie("ledakan", "ledakan1", 5);
_root.ledakan1._x=_root.laser1._x;
_root.ledakan1._y=_root.laser1._y-20;
_root.pesawat.jumlahlaser=1;
removeMovieClip(this);
removeMovieClip(_root.laser1);
}
if (this.hitTest(_root.pesawat)) {
_root.suara3.start(0,1);
_root.attachMovie("ledakanCopy", "ledakanCopy1", 6);
_root.ledakanCopy1._x=_root.pesawat._x;
_root.ledakanCopy1._y=_root.pesawat._y;
_root.ledakanCopy1._xscale=150;
_root.ledakanCopy1._yscale=150;
removeMovieClip(this);
removeMovieClip(_root.pesawat);
}
if (this.hitTest(_root.bottomBorder)) {
_root.suara3.start(0,1);
_root.attachMovie("ledakanCopy", "ledakanCopy1", 7);
_root.ledakanCopy1._x=this._x;
_root.ledakanCopy1._y=this._y;
_root.ledakanCopy1._xscale=150;
_root.ledakanCopy1._yscale=150;
removeMovieClip(this);
}
if (enemyBlown>=20) {
_root.gotoAndStop(3)
}
}
• Pada button dan upborder sama
• Pada pesawat juga sama dengan action
onClipEvent (load) {
speed = 10;
_root.laser._visible=0;
jumlahlaser=1;
}
onClipEvent (enterFrame) {
if (Key.isDown(Key.RIGHT)) {
this._x=_x+speed;
} else if (Key.isDown(Key.LEFT)) {
this._x=_x-speed;
}
if (this._x<=50) {
this._x=50;
} else if (this._x>=600) {
this._x=600;
}
if (Key.isDown(Key.CONTROL)) {
_root.suara2.start(0,1);
if (jumlahlaser==1) {
duplicateMovieClip (_root.laser, "laser"+jumlahlaser,
jumlahlaser);
jumlahlaser=0;
}
}
}
• Begitu juga laser
onClipEvent (load) {
laserspeed=10;
this._x=_root.pesawat._x;
this._y=_root.pesawat._y-30;
}
onClipEvent (enterFrame) {
this._y=this._y-laserspeed;
if (this.hitTest(_root.upperBorder)) {
_root.pesawat.jumlahlaser=1;
removeMovieClip (this);
}
}