SHARE
TWEET

Space Shooter Code

a guest Oct 20th, 2019 106 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package {
  2.     import flash.display.MovieClip;
  3.     import flash.events.Event;
  4.     import com.greensock.TweenMax;
  5.     import com.greensock.easing.Expo;
  6.     import flash.utils.Timer;
  7.     import flash.events.TimerEvent;
  8.     import flash.events.MouseEvent;
  9.     import flash.events.KeyboardEvent;
  10.     import flash.ui.Keyboard;
  11.     import flash.accessibility.Accessibility;
  12.     import flash.desktop.NativeApplication;
  13.     import flash.media.Sound;
  14.     import flash.media.SoundMixer;
  15.  
  16.     public class Main extends MovieClip {
  17.         public var bintang: MovieClip;
  18.         public var bintang2: MovieClip;
  19.  
  20.         public var pesawat: MovieClip;
  21.         public var enableMove: int = 0;
  22.         public var nyawa: Vector.<MovieClip> ;
  23.  
  24.         public var bombAmmo: int = 3;
  25.         public var enableBomb: Boolean = false;
  26.  
  27.         public var waktuSerangan: Timer = new Timer(500);
  28.         public var serangan: Vector.<MovieClip> = new Vector.<MovieClip>();
  29.         public var serangan2: Vector.<MovieClip> = new Vector.<MovieClip>();
  30.         public var serangan3: Vector.<MovieClip> = new Vector.<MovieClip>();
  31.         public var serangan4: Vector.<MovieClip> = new Vector.<MovieClip>();
  32.         public var serangan5: Vector.<MovieClip> = new Vector.<MovieClip>();
  33.         public var modeTembakan: int = 1;
  34.  
  35.         public var musuhAlien: Vector.<MovieClip> = new Vector.<MovieClip>();
  36.         public var waktuMusuh: Timer = new Timer(500);
  37.         public var xMusuh: int = 0;
  38.         public var statusMusuh: Array = new Array();
  39.  
  40.         public var power: MovieClip;
  41.         public var waktuPowerUp: Timer = new Timer(10000);
  42.         public var powerRandom: int;
  43.         public var durasiPowerUp: int = 0;
  44.  
  45.         public var boss: MovieClip;
  46.         public var nyawaBoss: int = 50;
  47.         public var statusBoss: int = 0;
  48.         public var seranganBoss: Vector.<MovieClip> = new Vector.<MovieClip>();
  49.         public var seranganBoss2: Vector.<MovieClip> = new Vector.<MovieClip>();
  50.         public var seranganBoss3: Vector.<MovieClip> = new Vector.<MovieClip>();
  51.         public var seranganBoss4: Vector.<MovieClip> = new Vector.<MovieClip>();
  52.         public var seranganBoss5: Vector.<MovieClip> = new Vector.<MovieClip>();
  53.         public var nyawaSenjataBoss: int = 20;
  54.         public var nyawaSenjataBoss2: int = 20;
  55.         public var nyawaSenjataBoss3: int = 20;
  56.         public var nyawaSenjataBoss4: int = 20;
  57.         public var nyawaSenjataBoss5: int = 20;
  58.         public var waktuSeranganBoss: Timer = new Timer(5000);
  59.         public var waktuSeranganBoss2: Timer = new Timer(6000);
  60.         public var waktuSeranganBoss3: Timer = new Timer(7000);
  61.         public var waktuSeranganBoss4: Timer = new Timer(8000);
  62.         public var waktuSeranganBoss5: Timer = new Timer(9000);
  63.  
  64.         public var miniBoss: MovieClip;
  65.         public var nyawaMiniBoss: int = 20;
  66.         public var seranganMiniBoss: Vector.<MovieClip> = new Vector.<MovieClip> ();
  67.         public var statusMiniBoss: int = 0;
  68.  
  69.         public var waktuSeranganMiniBoss: Timer = new Timer(3000);
  70.         public var skor: int = 0;
  71.  
  72.         public var mainMenuSound: Sound = new AudioMainMenu();
  73.         public var bulletSound: Sound = new AudioBullet();
  74.         public var bossSound: Sound = new AudioBoss();
  75.         public var miniBossSound: Sound = new AudioMiniBoss();
  76.         public var powerUpSound: Sound = new AudioPowerUp();
  77.        
  78.         public function Main() {
  79.             if (stage) {
  80.                 initMain();
  81.             } else {
  82.                 this.addEventListener(Event.ADDED_TO_STAGE, initMain);
  83.             }
  84.         }
  85.  
  86.         public function initMain(evt: Event = null): void {
  87.             this.removeEventListener(Event.ADDED_TO_STAGE, initMain);
  88.             mcMainMenu.x = 0;
  89.             mcMainMenu.y = 0;
  90.             mainMenuSound.play();
  91.             mcMainMenu.btnStart.addEventListener(MouseEvent.CLICK, start);
  92.             mcMainMenu.btnExit.addEventListener(MouseEvent.CLICK, exit);
  93.             mcGameOver.btnMenu.addEventListener(MouseEvent.CLICK, menu);
  94.         }
  95.  
  96.         public function start(evt: MouseEvent): void {
  97.             mcMainMenu.x += 1080;
  98.             mcMainMenu.y += 1080;
  99.             SoundMixer.stopAll();
  100.             initBintang();
  101.         }
  102.  
  103.         public function exit(evt: MouseEvent): void {
  104.             NativeApplication.nativeApplication.exit();
  105.         }
  106.  
  107.         public function menu(evt: MouseEvent): void {
  108.             mcMainMenu.x = 0;
  109.             mcMainMenu.y = 0;
  110.             mcGameOver.x += 1080;
  111.             mcGameOver.y += 1080;
  112.             mainMenuSound.play();
  113.         }
  114.  
  115.         //MEMUNCULKAN BINTANG
  116.         public function initBintang(): void {
  117.             bintang = new MovieClip();
  118.             for (var i: int = 0; i < 300; i++) {
  119.                 var star: Bintang = new Bintang();
  120.                 star.alpha = Math.random() * 1;
  121.                 star.scaleX = Math.random() * 3;
  122.                 star.scaleY = star.scaleX;
  123.                 star.x = Math.floor(Math.random() * stage.stageWidth);
  124.                 star.y = Math.floor(Math.random() * stage.stageHeight - 20);
  125.                 bintang.addChild(star);
  126.             }
  127.  
  128.             bintang2 = new MovieClip();
  129.             for (var j: int = 0; j < 300; j++) {
  130.                 var star2: Bintang = new Bintang();
  131.                 star2.alpha = Math.random() * 1 + 0.2;
  132.                 star2.scaleX = Math.random() * 3;
  133.                 star2.scaleY = star2.scaleX;
  134.                 star2.x = Math.floor(Math.random() * stage.stageWidth);
  135.                 star2.y = Math.floor(Math.random() * stage.stageHeight - 20);
  136.                 bintang2.addChild(star2);
  137.             }
  138.             bintang2.y = -stage.stageHeight;
  139.             addChild(bintang);
  140.             addChild(bintang2);
  141.             initPesawat();
  142.         }
  143.  
  144.         //MEMUNCULKAN PESAWAT
  145.         public function initPesawat(): void {
  146.             pesawat = new Pesawat();
  147.             pesawat.x = stage.stageWidth / 2;
  148.             pesawat.y = stage.stageHeight - 10;
  149.             pesawat.scaleX = 0.5;
  150.             pesawat.scaleY = 0.5;
  151.             TweenMax.to(pesawat, 2, {
  152.                 y: (stage.stageHeight - pesawat.height) - 10,
  153.                 ease: Expo.easeOut,
  154.                 onComplete: initEvent()
  155.             });
  156.             addChild(pesawat);
  157.             initNyawa();
  158.         }
  159.  
  160.         //INISIALISASI EVENT & TIMER SETELAH PESAWAT MUNCUL
  161.         public function initEvent() {
  162.             stage.addEventListener(MouseEvent.MOUSE_DOWN, moveEnabler);
  163.             //stage.addEventListener(MouseEvent.MOUSE_MOVE, gerakPesawat);
  164.             //stage.addEventListener(MouseEvent.MOUSE_UP, moveDisabler);
  165.             waktuSerangan.addEventListener(TimerEvent.TIMER, tembak);
  166.             waktuMusuh.addEventListener(TimerEvent.TIMER, initMusuh);
  167.             waktuPowerUp.addEventListener(TimerEvent.TIMER, initPowerUp);
  168.             stage.addEventListener(Event.ENTER_FRAME, update);
  169.             waktuSerangan.start();
  170.             waktuMusuh.start();
  171.             waktuPowerUp.start();
  172.             btnBomb.addEventListener(MouseEvent.CLICK, bombDeploy);
  173.             stage.addEventListener(KeyboardEvent.KEY_DOWN, testMode);
  174.             skor = 0;
  175.         }
  176.  
  177.         //MEMUNCULKAN NYAWA
  178.         public function initNyawa(): void {
  179.             nyawa = new Vector.<MovieClip> ;
  180.             for (var i: int = 0; i < 3; i++) {
  181.                 var hati: MovieClip = new Hati();
  182.                 hati.x = (stage.stageWidth - hati.width * 0.7) - (5 * i + 1) - hati.width * i;
  183.                 hati.y = stage.stageHeight - hati.height * 0.7;
  184.                 addChild(hati);
  185.                 nyawa.push(hati);
  186.             }
  187.         }
  188.  
  189.         //MENGAKTIFKAN PERGERAKAN PESAWAT
  190.         public function moveEnabler(evt: MouseEvent): void {
  191.             enableMove = 1;
  192.             TweenMax.to(pesawat, 0.5, {
  193.                 x: mouseX,
  194.                 y: mouseY
  195.             });
  196.         }
  197.  
  198.         //PERGERAKAN PESAWAT
  199.         public function gerakPesawat(evt: MouseEvent): void {
  200.             if (enableMove == 1) {
  201.                 //pesawat.x = mouseX;
  202.                 //pesawat.y = mouseY;
  203.             }
  204.         }
  205.  
  206.         //MENONAKTIFKAN PERGERAKAN PESAWAT
  207.         public function moveDisabler(evt: MouseEvent): void {
  208.             enableMove = 0;
  209.         }
  210.  
  211.         //MEMUNCULKAN TEMBAKAN
  212.         public function tembak(evt: TimerEvent): void {
  213.             fPeluru(); //PANGGIL FUNGSI PELURU TENGAH
  214.  
  215.             //MODE 3 PELURU
  216.             if (modeTembakan == 2) {
  217.                 fPeluru2(); //PANGGIL FUNGSI PELURU KE-2 DARI KIRI
  218.                 fPeluru3(); //PANGGIL FUNGSI PELURU KE-2 DARI KANAN
  219.             }
  220.  
  221.             //MODE 5 PELURU
  222.             if (modeTembakan == 3) {
  223.                 fPeluru2(); //PANGGIL FUNGSI PELURU KE-2 DARI KIRI
  224.                 fPeluru3(); //PANGGIL FUNGSI PELURU KE-2 DARI KANAN
  225.                 fPeluru4(); //PANGGIL FUNGSI PELURU PALING KIRI
  226.                 fPeluru5(); //PANGGIL FUNGSI PELURU PALING KANAN
  227.             }
  228.         }
  229.  
  230.         //MEMUNCULKAN PELURU
  231.         //PELURU TENGAH
  232.         public function fPeluru(): void {
  233.             var peluru: MovieClip = new Peluru();
  234.             peluru.x = pesawat.x;
  235.             peluru.y = pesawat.y - (pesawat.height * 0.75);
  236.             serangan.push(peluru);
  237.             addChild(peluru);
  238.             peluru.addEventListener(Event.ENTER_FRAME, gerakPeluru);
  239.             bulletSound.play();
  240.         }
  241.  
  242.         //PELURU KE-2 DARI KIRI
  243.         public function fPeluru2(): void {
  244.             var peluru2: MovieClip = new Peluru();
  245.             peluru2.x = pesawat.x - 20;
  246.             peluru2.y = pesawat.y - (pesawat.height * 0.7);
  247.             serangan2.push(peluru2);
  248.             addChild(peluru2);
  249.             peluru2.addEventListener(Event.ENTER_FRAME, gerakPeluru2);
  250.         }
  251.  
  252.         //PELURU KE-2 DARI KANAN
  253.         public function fPeluru3(): void {
  254.             var peluru3: MovieClip = new Peluru();
  255.             peluru3.x = pesawat.x + 20;
  256.             peluru3.y = pesawat.y - (pesawat.height * 0.7);
  257.             serangan3.push(peluru3);
  258.             addChild(peluru3);
  259.             peluru3.addEventListener(Event.ENTER_FRAME, gerakPeluru3);
  260.         }
  261.  
  262.         //PELURU PALING KIRI
  263.         public function fPeluru4(): void {
  264.             var peluru4: MovieClip = new Peluru();
  265.             peluru4.x = pesawat.x - 40;
  266.             peluru4.y = pesawat.y - (pesawat.height * 0.65);
  267.             serangan4.push(peluru4);
  268.             addChild(peluru4);
  269.             peluru4.addEventListener(Event.ENTER_FRAME, gerakPeluru4);
  270.         }
  271.  
  272.         //PELURU PALING KANAN
  273.         public function fPeluru5(): void {
  274.             var peluru5: MovieClip = new Peluru();
  275.             peluru5.x = pesawat.x + 40;
  276.             peluru5.y = pesawat.y - (pesawat.height * 0.65);
  277.             serangan5.push(peluru5);
  278.             addChild(peluru5);
  279.             peluru5.addEventListener(Event.ENTER_FRAME, gerakPeluru5);
  280.         }
  281.  
  282.         //MEMUNCULKAN BOMB
  283.         public function bombDeploy(evt: MouseEvent): void {
  284.             enableBomb = true;
  285.         }
  286.  
  287.         //MEMUNCULKAN MUSUH
  288.         public function initMusuh(evt: TimerEvent): void {
  289.             var musuh: MovieClip = new Musuh();
  290.             musuh.x = koordinatMusuh(Math.floor(Math.random() * 5 + 1)); //RANDOM 1 - 5
  291.             musuh.y = -musuh.height;
  292.             musuhAlien.push(musuh);
  293.             statusMusuh.push(1);
  294.             addChild(musuh);
  295.             musuh.addEventListener(Event.ENTER_FRAME, gerakMusuh);
  296.         }
  297.  
  298.         //MENENTUKAN KOORDINAT MUSUH
  299.         public function koordinatMusuh(randKoor: int): Number {
  300.             if (randKoor == 1) {
  301.                 xMusuh = stage.stageWidth / 10; //X = 128 | Apabila stageWidth = 1280
  302.             } else if (randKoor == 2) {
  303.                 xMusuh = stage.stageWidth / 10 * 3; //X = 384
  304.             } else if (randKoor == 3) {
  305.                 xMusuh = stage.stageWidth / 10 * 5; //X = 640
  306.             } else if (randKoor == 4) {
  307.                 xMusuh = stage.stageWidth / 10 * 7; //X = 896
  308.             } else if (randKoor == 5) {
  309.                 xMusuh = stage.stageWidth / 10 * 9; //X = 1152
  310.             }
  311.             return xMusuh;
  312.         }
  313.  
  314.         //MEMUNCULKAN BOSS
  315.         public function initBoss(): void {
  316.             boss = new Boss();
  317.             boss.x = stage.stageWidth / 2;
  318.             boss.y = -boss.height;
  319.             TweenMax.to(boss, 3, {
  320.                 y: 150
  321.             });
  322.             addChild(boss);
  323.             waktuSeranganBoss.addEventListener(TimerEvent.TIMER, tembakBoss);
  324.             waktuSeranganBoss2.addEventListener(TimerEvent.TIMER, tembakBoss2);
  325.             waktuSeranganBoss3.addEventListener(TimerEvent.TIMER, tembakBoss3);
  326.             waktuSeranganBoss4.addEventListener(TimerEvent.TIMER, tembakBoss4);
  327.             waktuSeranganBoss5.addEventListener(TimerEvent.TIMER, tembakBoss5);
  328.  
  329.             waktuSeranganBoss.start();
  330.             waktuSeranganBoss2.start();
  331.             waktuSeranganBoss3.start();
  332.             waktuSeranganBoss4.start();
  333.             waktuSeranganBoss5.start();
  334.             bossSound.play();
  335.         }
  336.  
  337.         //MEMUNCULKAN TEMBAKAN BOS
  338.         public function tembakBoss(evt: TimerEvent): void {
  339.             var peluruBoss: MovieClip = new PeluruBoss();
  340.             peluruBoss.x = boss.senjataBoss1.x + boss.x;
  341.             peluruBoss.y = boss.senjataBoss1.y + boss.y + 30;
  342.             seranganBoss.push(peluruBoss);
  343.             addChild(peluruBoss);
  344.             peluruBoss.addEventListener(Event.ENTER_FRAME, gerakPeluruBoss);
  345.         }
  346.  
  347.         public function tembakBoss2(evt: TimerEvent): void {
  348.             var peluruBoss2: MovieClip = new PeluruBoss();
  349.             peluruBoss2.x = boss.senjataBoss2.x + boss.x;
  350.             peluruBoss2.y = boss.senjataBoss2.y + boss.y + 30;
  351.             seranganBoss2.push(peluruBoss2);
  352.             addChild(peluruBoss2);
  353.             peluruBoss2.addEventListener(Event.ENTER_FRAME, gerakPeluruBoss2);
  354.         }
  355.  
  356.         public function tembakBoss3(evt: TimerEvent): void {
  357.             var peluruBoss3: MovieClip = new PeluruBoss();
  358.             peluruBoss3.x = boss.senjataBoss3.x + boss.x;
  359.             peluruBoss3.y = boss.senjataBoss3.y + boss.y + 30;
  360.             seranganBoss3.push(peluruBoss3);
  361.             addChild(peluruBoss3);
  362.             peluruBoss3.addEventListener(Event.ENTER_FRAME, gerakPeluruBoss3);
  363.         }
  364.  
  365.         public function tembakBoss4(evt: TimerEvent): void {
  366.             var peluruBoss4: MovieClip = new PeluruBoss();
  367.             peluruBoss4.x = boss.senjataBoss4.x + boss.x;
  368.             peluruBoss4.y = boss.senjataBoss4.y + boss.y + 30;
  369.             seranganBoss4.push(peluruBoss4);
  370.             addChild(peluruBoss4);
  371.             peluruBoss4.addEventListener(Event.ENTER_FRAME, gerakPeluruBoss4);
  372.         }
  373.  
  374.         public function tembakBoss5(evt: TimerEvent): void {
  375.             var peluruBoss5: MovieClip = new PeluruBoss();
  376.             peluruBoss5.x = boss.senjataBoss5.x + boss.x;
  377.             peluruBoss5.y = boss.senjataBoss5.y + boss.y + 30;
  378.             seranganBoss5.push(peluruBoss5);
  379.             addChild(peluruBoss5);
  380.             peluruBoss5.addEventListener(Event.ENTER_FRAME, gerakPeluruBoss5);
  381.         }
  382.  
  383.         //PERGERAKAN PELURU BOSS
  384.         public function gerakPeluruBoss(evt: Event): void {
  385.             evt.currentTarget.y += 5;
  386.         }
  387.  
  388.         public function gerakPeluruBoss2(evt: Event): void {
  389.             evt.currentTarget.y += 5;
  390.         }
  391.  
  392.         public function gerakPeluruBoss3(evt: Event): void {
  393.             evt.currentTarget.y += 5;
  394.         }
  395.  
  396.         public function gerakPeluruBoss4(evt: Event): void {
  397.             evt.currentTarget.y += 5;
  398.         }
  399.  
  400.         public function gerakPeluruBoss5(evt: Event): void {
  401.             evt.currentTarget.y += 5;
  402.         }
  403.  
  404.         //MEMUNCULKAN MINI BOSS
  405.         public function initMiniBoss(): void {
  406.             miniBoss = new MiniBoss();
  407.             miniBoss.x = stage.stageWidth / 2;
  408.             miniBoss.y = -miniBoss.height;
  409.             TweenMax.to(miniBoss, 3, {
  410.                 y: 120
  411.             });
  412.  
  413.             addChild(miniBoss);
  414.             waktuSeranganMiniBoss.addEventListener(TimerEvent.TIMER, tembakMusuh);
  415.             waktuSeranganMiniBoss.start();
  416.             statusMiniBoss = 1;
  417.             miniBossSound.play();
  418.         }
  419.  
  420.         //HAPUS MINI BOSS
  421.         public function hapusMiniBoss(): void {
  422.             waktuSeranganMiniBoss.stop();
  423.             statusMiniBoss = 0;
  424.             TweenMax.to(miniBoss, 1, {
  425.                 rotation: 360,
  426.                 scaleX: 0.1,
  427.                 scaleY: 0.1,
  428.                 alpha: 0
  429.             });
  430.             removeChild(miniBoss);
  431.             miniBoss = null;
  432.             tambahSkor(1000);
  433.         }
  434.  
  435.         //MEMUNCULKAN TEMBAKAN MINI BOSS
  436.         public function tembakMusuh(evt: TimerEvent): void {
  437.             initPeluruMiniBoss();
  438.         }
  439.  
  440.         //MEMUNCULKAN PELURU MINI BOSS
  441.         public function initPeluruMiniBoss(): void {
  442.             var peluruMiniBoss: MovieClip = new PeluruMusuh();
  443.             peluruMiniBoss.x = miniBoss.x;
  444.             peluruMiniBoss.y = miniBoss.y + (pesawat.height * 0.75);
  445.             seranganMiniBoss.push(peluruMiniBoss);
  446.             addChild(peluruMiniBoss);
  447.             peluruMiniBoss.addEventListener(Event.ENTER_FRAME, gerakPeluruMiniBoss);
  448.         }
  449.  
  450.         //MEMUNCULKAN POWER-UP
  451.         public function initPowerUp(evt: TimerEvent): void {
  452.             durasiPowerUp++;
  453.             if (durasiPowerUp % 2 == 0) {
  454.                 modeTembakan = 1; //MENGEMBALIKAN TEMBAKAN KE SEMULA SETELAH 10 DETIK
  455.             } else if (durasiPowerUp % 2 == 1) {
  456.                 powerRandom = Math.floor(Math.random() * 2); //RANDOM 0 - 1, [0 = 3 tembakan], [1 = 5 tembakan]
  457.                 if (powerRandom == 0) {
  458.                     power = new PowerUp1();
  459.                 } else if (powerRandom == 1) {
  460.                     power = new PowerUp2();
  461.                 }
  462.                 power.scaleX = 0.5;
  463.                 power.scaleY = 0.5;
  464.                 power.x = Math.floor(Math.random() * (stage.stageWidth - power.width + 1) + power.width);
  465.                 power.y = -power.height;
  466.                 addChild(power);
  467.             }
  468.         }
  469.  
  470.         //UNTUK MELAKUKAN PENGETESAN DAN PERCOBAAN
  471.         public function testMode(evt: KeyboardEvent): void {
  472.             if (evt.keyCode == Keyboard.NUMBER_1) {
  473.                 //MODE 1 TEMBAKAN
  474.                 modeTembakan = 1;
  475.             } else if (evt.keyCode == Keyboard.NUMBER_2) {
  476.                 //MODE 3 TEMBAKAN
  477.                 modeTembakan = 2;
  478.             } else if (evt.keyCode == Keyboard.NUMBER_3) {
  479.                 //MODE 5 TEMBAKAN
  480.                 modeTembakan = 3;
  481.             } else if (evt.keyCode == Keyboard.NUMBER_4) {
  482.                 //TEST BOSS
  483.                 initBoss();
  484.             } else if (evt.keyCode == Keyboard.NUMBER_5) {
  485.                 //TEST MINI BOSS
  486.                 initMiniBoss();
  487.             } else if (evt.keyCode == Keyboard.NUMBER_0) {
  488.                 resetGame();
  489.             }
  490.         }
  491.  
  492.         //UPDATE TIAP GANTI FRAME
  493.         public function update(evt: Event): void {
  494.             try{
  495.                 tambahSkor(0);
  496.                 //MEMUNCULKAN MINI BOSS KETIKA SKOR MENCAPAI 500
  497.                 if (skor == 500 && miniBoss == null) {
  498.                     initMiniBoss();
  499.                 }
  500.                
  501.                 //MEMUNCULKAN BOSS KETIKA SKOR MENCAPAI 3000
  502.                 if (skor == 3000 && miniBoss == null && boss == null) {
  503.                     initBoss();
  504.                 }
  505.                
  506.                 //PERGERAKAN BINTANG
  507.                 bintang.y += 5;
  508.                 bintang2.y += 5;
  509.                 if (bintang.y >= stage.stageHeight - 20) {
  510.                     bintang.y = -bintang.height;
  511.                 } else if (bintang2.y >= stage.stageHeight - 20) {
  512.                     bintang2.y = -bintang.height;
  513.                 }
  514.  
  515.                 //PELURU TENGAH KELUAR DARI STAGE
  516.                 if (serangan.length != 0) {
  517.                     for (var i: int = serangan.length - 1; i > 0; i--) {
  518.                         if (serangan[i].y < 0) {
  519.                             hapusPeluru(i);
  520.                         }
  521.                     }
  522.                 }
  523.  
  524.                 //PELURU KE-2 DARI KIRI KELUAR DARI STAGE
  525.                 if (serangan2.length != 0) {
  526.                     for (var i2: int = serangan2.length - 1; i2 > 0; i2--) {
  527.                         if (serangan2[i2].y < 0 || serangan2[i2].x < 0) {
  528.                             hapusPeluru2(i2);
  529.                         }
  530.                     }
  531.                 }
  532.  
  533.                 //PELURU KE-2 DARI KANAN KELUAR DARI STAGE
  534.                 if (serangan3.length != 0) {
  535.                     for (var i3: int = serangan3.length - 1; i3 > 0; i3--) {
  536.                         if (serangan3[i3].y < 0 || serangan3[i3].x > stage.stageWidth) {
  537.                             hapusPeluru3(i3);
  538.                         }
  539.                     }
  540.                 }
  541.  
  542.                 //PELURU PALING KIRI KELUAR DARI STAGE
  543.                 if (serangan4.length != 0) {
  544.                     for (var i4: int = serangan4.length - 1; i4 > 0; i4--) {
  545.                         if (serangan4[i4].y < 0 || serangan4[i4].x < 0) {
  546.                             hapusPeluru4(i4);
  547.                         }
  548.                     }
  549.                 }
  550.  
  551.                 //PELURU PALING KANAN KELUAR DARI STAGE
  552.                 if (serangan5.length != 0) {
  553.                     for (var i5: int = serangan5.length - 1; i5 > 0; i5--) {
  554.                         if (serangan5[i5].y < 0 || serangan5[i5].x > stage.stageWidth) {
  555.                             hapusPeluru5(i5);
  556.                         }
  557.                     }
  558.                 }
  559.  
  560.                 //PENGECEKAN OBJEK MUSUH DENGAN OBJEK LAIN
  561.                 if (musuhAlien.length > 0) {
  562.                     for (var j: int = musuhAlien.length - 1; j >= 0; j--) {
  563.                         //MUSUH KELUAR DARI STAGE
  564.                         if (musuhAlien[j].y > stage.stageHeight + 50) {
  565.                             musuhAlien[j].removeEventListener(Event.ENTER_FRAME, gerakMusuh);
  566.                             hapusMusuh(j);
  567.                         }
  568.  
  569.                         //MUSUH KENA PESAWAT
  570.                         if (musuhAlien[j].hitTestObject(pesawat)) {
  571.                             //HAPUS MUSUH
  572.                             musuhAlien[j].removeEventListener(Event.ENTER_FRAME, gerakMusuh);
  573.                             hapusMusuh(j);
  574.                             hapusNyawa(); //HAPUS NYAWA
  575.                         }
  576.  
  577.                         //MINI BOSS KENA PESAWAT
  578.                         if (miniBoss != null && miniBoss.hitTestObject(pesawat)) {
  579.                             nyawaMiniBoss--;
  580.                             hapusNyawa(); //HAPUS NYAWA
  581.                         }
  582.  
  583.                         //TEMBAKAN TENGAH KENA MUSUH
  584.                         for (var k: int = serangan.length - 1; k >= 0; k--) {
  585.                             if (serangan.length != 0 && musuhAlien[j] != null && serangan[k].hitTestObject(musuhAlien[j]) && statusMusuh[j] == 1) {
  586.                                 animasiHapusMusuh(j); //HAPUS MUSUH
  587.                                 hapusPeluru(k); //HAPUS TEMBAKAN
  588.                             }
  589.  
  590.                             //KENA MINI BOSS
  591.                             if (serangan.length != 0 && miniBoss != null && serangan[k].hitTestObject(miniBoss)) {
  592.                                 nyawaMiniBoss--; //MENGURANGI NYAWA MINI BOSS
  593.                                 hapusPeluru(k); //HAPUS TEMBAKAN
  594.                                 if (nyawaMiniBoss <= 0) {
  595.                                     hapusMiniBoss();
  596.                                 }
  597.                             }
  598.  
  599.                             //KENA SENJATA BOSS
  600.                             if (serangan.length != 0 && boss != null && boss.senjataBoss1 != null && nyawaSenjataBoss > 0 && serangan[k].hitTestObject(boss.senjataBoss1)) {
  601.                                 nyawaSenjataBoss--;
  602.                                 hapusPeluru(k);
  603.                             }
  604.  
  605.                             if (serangan.length != 0 && boss != null && boss.senjataBoss2 != null && nyawaSenjataBoss2 > 0 && serangan[k].hitTestObject(boss.senjataBoss2)) {
  606.                                 nyawaSenjataBoss2--;
  607.                                 hapusPeluru(k);
  608.                             }
  609.  
  610.                             if (serangan.length != 0 && boss != null && boss.senjataBoss3 != null && nyawaSenjataBoss3 > 0 && serangan[k].hitTestObject(boss.senjataBoss3)) {
  611.                                 nyawaSenjataBoss3--;
  612.                                 hapusPeluru(k);
  613.                             }
  614.  
  615.                             if (serangan.length != 0 && boss != null && boss.senjataBoss4 != null && nyawaSenjataBoss4 > 0 && serangan[k].hitTestObject(boss.senjataBoss4)) {
  616.                                 nyawaSenjataBoss4--;
  617.                                 hapusPeluru(k);
  618.                             }
  619.  
  620.                             if (serangan.length != 0 && boss != null && boss.senjataBoss5 != null && nyawaSenjataBoss5 > 0 && serangan[k].hitTestObject(boss.senjataBoss5)) {
  621.                                 nyawaSenjataBoss5--;
  622.                                 hapusPeluru(k);
  623.                             }
  624.  
  625.                             //KENA BOSS
  626.                             if (serangan.length != 0 && boss != null && serangan[k].hitTestObject(boss) && nyawaSenjataBoss <= 0 && nyawaSenjataBoss2 <= 0 && nyawaSenjataBoss3 <= 0 && nyawaSenjataBoss4 <= 0 && nyawaSenjataBoss5 <= 0) {
  627.                                 nyawaBoss--; //MENGURANGI NYAWA BOSS
  628.                                 hapusPeluru(k);
  629.                             }
  630.                         }
  631.  
  632.                         //TEMBAKAN KE-2 DARI KIRI KENA MUSUH
  633.                         for (var k2: int = serangan2.length - 1; k2 >= 0; k2--) {
  634.                             if (serangan2.length != 0 && musuhAlien[j] != null && serangan2[k2].hitTestObject(musuhAlien[j]) && statusMusuh[j] == 1) {
  635.                                 animasiHapusMusuh(j); //HAPUS MUSUH
  636.                                 hapusPeluru2(k2); //HAPUS TEMBAKAN
  637.                             }
  638.  
  639.                             //KENA MINI BOSS
  640.                             if (serangan2.length != 0 && boss != null && miniBoss != null && serangan2[k2].hitTestObject(miniBoss) && statusMiniBoss == 1) {
  641.                                 nyawaMiniBoss--; //MENGURANGI NYAWA MINI BOSS
  642.                                 hapusPeluru2(k2); //HAPUS TEMBAKAN
  643.                                 if (nyawaMiniBoss <= 0) {
  644.                                     hapusMiniBoss();
  645.                                 }
  646.                             }
  647.  
  648.                             //KENA SENJATA BOSS
  649.                             if (serangan2.length != 0 && boss != null && boss.senjataBoss1 != null && nyawaSenjataBoss > 0 && serangan2[k2].hitTestObject(boss.senjataBoss1)) {
  650.                                 nyawaSenjataBoss--;
  651.                                 hapusPeluru2(k2);
  652.                             }
  653.  
  654.                             if (serangan2.length != 0 && boss != null && boss.senjataBoss2 != null && nyawaSenjataBoss2 > 0 && serangan2[k2].hitTestObject(boss.senjataBoss2)) {
  655.                                 nyawaSenjataBoss2--;
  656.                                 hapusPeluru2(k2);
  657.                             }
  658.  
  659.                             if (serangan2.length != 0 && boss != null && boss.senjataBoss3 != null && nyawaSenjataBoss3 > 0 && serangan2[k2].hitTestObject(boss.senjataBoss3)) {
  660.                                 nyawaSenjataBoss3--;
  661.                                 hapusPeluru2(k2);
  662.                             }
  663.  
  664.                             if (serangan2.length != 0 && boss != null && boss.senjataBoss4 != null && nyawaSenjataBoss4 > 0 && serangan2[k2].hitTestObject(boss.senjataBoss4)) {
  665.                                 nyawaSenjataBoss4--;
  666.                                 hapusPeluru2(k2);
  667.                             }
  668.  
  669.                             if (serangan2.length != 0 && boss != null && boss.senjataBoss5 != null && nyawaSenjataBoss5 > 0 && serangan2[k2].hitTestObject(boss.senjataBoss5)) {
  670.                                 nyawaSenjataBoss5--;
  671.                                 hapusPeluru2(k2);
  672.                             }
  673.  
  674.                             //KENA BOSS
  675.                             if (serangan2.length != 0 && boss != null && serangan2[k2].hitTestObject(boss) && nyawaSenjataBoss <= 0 && nyawaSenjataBoss2 <= 0 && nyawaSenjataBoss3 <= 0 && nyawaSenjataBoss4 <= 0 && nyawaSenjataBoss5 <= 0) {
  676.                                 nyawaBoss--; //MENGURANGI NYAWA BOSS
  677.                                 hapusPeluru2(k2);
  678.                             }
  679.                         }
  680.  
  681.                         //TEMBAKAN KE-2 DARI KANAN KENA MUSUH
  682.                         for (var k3: int = serangan3.length - 1; k3 >= 0; k3--) {
  683.                             if (serangan3.length != 0 && musuhAlien[j] != null && serangan3[k3].hitTestObject(musuhAlien[j]) && statusMusuh[j] == 1) {
  684.                                 animasiHapusMusuh(j); //HAPUS MUSUH
  685.                                 hapusPeluru3(k3); //HAPUS TEMBAKAN
  686.                             }
  687.  
  688.                             //KENA MINI BOSS
  689.                             if (serangan3.length != 0 && miniBoss != null && serangan3[k3].hitTestObject(miniBoss) && statusMiniBoss == 1) {
  690.                                 nyawaMiniBoss--; //MENGURANGI NYAWA MINI BOSS
  691.                                 hapusPeluru3(k3); //HAPUS TEMBAKAN
  692.                                 if (nyawaMiniBoss <= 0) {
  693.                                     hapusMiniBoss();
  694.                                 }
  695.                             }
  696.  
  697.                             //KENA SENJATA BOSS
  698.                             if (serangan3.length != 0 && boss != null && boss.senjataBoss1 != null && nyawaSenjataBoss > 0 && serangan3[k3].hitTestObject(boss.senjataBoss1)) {
  699.                                 nyawaSenjataBoss--;
  700.                                 hapusPeluru3(k3);
  701.                             }
  702.  
  703.                             if (serangan3.length != 0 && boss != null && boss.senjataBoss2 != null && nyawaSenjataBoss2 > 0 && serangan3[k3].hitTestObject(boss.senjataBoss2)) {
  704.                                 nyawaSenjataBoss2--;
  705.                                 hapusPeluru3(k3);
  706.                             }
  707.  
  708.                             if (serangan3.length != 0 && boss != null && boss.senjataBoss3 != null && nyawaSenjataBoss3 > 0 && serangan3[k3].hitTestObject(boss.senjataBoss3)) {
  709.                                 nyawaSenjataBoss3--;
  710.                                 hapusPeluru3(k3);
  711.                             }
  712.  
  713.                             if (serangan3.length != 0 && boss != null && boss.senjataBoss4 != null && nyawaSenjataBoss4 > 0 && serangan3[k3].hitTestObject(boss.senjataBoss4)) {
  714.                                 nyawaSenjataBoss4--;
  715.                                 hapusPeluru3(k3);
  716.                             }
  717.  
  718.                             if (serangan3.length != 0 && boss != null && boss.senjataBoss5 != null && nyawaSenjataBoss5 > 0 && serangan3[k3].hitTestObject(boss.senjataBoss5)) {
  719.                                 nyawaSenjataBoss5--;
  720.                                 hapusPeluru3(k3);
  721.                             }
  722.  
  723.                             //KENA BOSS
  724.                             if (serangan3.length != 0 && boss != null && serangan3[k3].hitTestObject(boss) && nyawaSenjataBoss <= 0 && nyawaSenjataBoss2 <= 0 && nyawaSenjataBoss3 <= 0 && nyawaSenjataBoss4 <= 0 && nyawaSenjataBoss5 <= 0) {
  725.                                 nyawaBoss--; //MENGURANGI NYAWA BOSS
  726.                                 hapusPeluru3(k3);
  727.                             }
  728.                         }
  729.  
  730.                         //TEMBAKAN PALING KIRI KENA MUSUH
  731.                         for (var k4: int = serangan4.length - 1; k4 >= 0; k4--) {
  732.                             if (serangan4.length != 0 && musuhAlien[j] != null && serangan4[k4].hitTestObject(musuhAlien[j]) && statusMusuh[j] == 1) {
  733.                                 animasiHapusMusuh(j); //HAPUS MUSUH
  734.                                 hapusPeluru4(k4); //HAPUS TEMBAKAN
  735.                             }
  736.  
  737.                             //KENA MINI BOSS
  738.                             if (serangan4.length != 0 && miniBoss != null && serangan4[k4].hitTestObject(miniBoss) && statusMiniBoss == 1) {
  739.                                 nyawaMiniBoss--; //MENGURANGI NYAWA MINI BOSS
  740.                                 hapusPeluru4(k4); //HAPUS TEMBAKAN
  741.                                 if (nyawaMiniBoss <= 0) {
  742.                                     hapusMiniBoss();
  743.                                 }
  744.                             }
  745.  
  746.                             //KENA SENJATA BOSS
  747.                             if (serangan4.length != 0 && boss != null && boss.senjataBoss1 != null && nyawaSenjataBoss > 0 && serangan4[k4].hitTestObject(boss.senjataBoss1)) {
  748.                                 nyawaSenjataBoss--;
  749.                                 hapusPeluru4(k4);
  750.                             }
  751.  
  752.                             if (serangan4.length != 0 && boss != null && boss.senjataBoss2 != null && nyawaSenjataBoss2 > 0 && serangan4[k4].hitTestObject(boss.senjataBoss2)) {
  753.                                 nyawaSenjataBoss2--;
  754.                                 hapusPeluru4(k4);
  755.                             }
  756.  
  757.                             if (serangan4.length != 0 && boss != null && boss.senjataBoss3 != null && nyawaSenjataBoss3 > 0 && serangan4[k4].hitTestObject(boss.senjataBoss3)) {
  758.                                 nyawaSenjataBoss3--;
  759.                                 hapusPeluru4(k4);
  760.                             }
  761.  
  762.                             if (serangan4.length != 0 && boss != null && boss.senjataBoss4 != null && nyawaSenjataBoss4 > 0 && serangan4[k4].hitTestObject(boss.senjataBoss4)) {
  763.                                 nyawaSenjataBoss4--;
  764.                                 hapusPeluru4(k4);
  765.                             }
  766.  
  767.                             if (serangan4.length != 0 && boss != null && boss.senjataBoss5 != null && nyawaSenjataBoss5 > 0 && serangan4[k4].hitTestObject(boss.senjataBoss5)) {
  768.                                 nyawaSenjataBoss5--;
  769.                                 hapusPeluru4(k4);
  770.                             }
  771.  
  772.                             //KENA BOSS
  773.                             if (serangan4.length != 0 && boss != null && serangan4[k4].hitTestObject(boss) && nyawaSenjataBoss <= 0 && nyawaSenjataBoss2 <= 0 && nyawaSenjataBoss3 <= 0 && nyawaSenjataBoss4 <= 0 && nyawaSenjataBoss5 <= 0) {
  774.                                 nyawaBoss--; //MENGURANGI NYAWA BOSS
  775.                                 hapusPeluru4(k4);
  776.                             }
  777.                         }
  778.  
  779.                         //TEMBAKAN PALING KANAN KENA MUSUH
  780.                         for (var k5: int = serangan5.length - 1; k5 >= 0; k5--) {
  781.                             if (serangan5.length != 0 && musuhAlien[j] != null && serangan5[k5].hitTestObject(musuhAlien[j]) && statusMusuh[j] == 1) {
  782.                                 animasiHapusMusuh(j); //HAPUS MUSUH
  783.                                 hapusPeluru5(k5); //HAPUS TEMBAKAN
  784.                             }
  785.  
  786.                             //KENA MINI BOSS
  787.                             if (serangan5.length != 0 && miniBoss != null && serangan5[k5].hitTestObject(miniBoss) && statusMiniBoss == 1) {
  788.                                 nyawaMiniBoss--; //MENGURANGI NYAWA MINI BOSS
  789.                                 hapusPeluru5(k5); //HAPUS TEMBAKAN
  790.                                 if (nyawaMiniBoss <= 0) {
  791.                                     hapusMiniBoss();
  792.                                 }
  793.                             }
  794.  
  795.                             //KENA SENJATA BOSS
  796.                             if (serangan5.length != 0 && boss != null && boss.senjataBoss1 != null && nyawaSenjataBoss > 0 && serangan5[k5].hitTestObject(boss.senjataBoss1)) {
  797.                                 nyawaSenjataBoss--;
  798.                                 hapusPeluru5(k5);
  799.                             }
  800.  
  801.                             if (serangan5.length != 0 && boss != null && boss.senjataBoss2 != null && nyawaSenjataBoss2 > 0 && serangan5[k5].hitTestObject(boss.senjataBoss2)) {
  802.                                 nyawaSenjataBoss2--;
  803.                                 hapusPeluru5(k5);
  804.                             }
  805.  
  806.                             if (serangan5.length != 0 && boss != null && boss.senjataBoss3 != null && nyawaSenjataBoss3 > 0 && serangan5[k5].hitTestObject(boss.senjataBoss3)) {
  807.                                 nyawaSenjataBoss3--;
  808.                                 hapusPeluru5(k5);
  809.                             }
  810.  
  811.                             if (serangan5.length != 0 && boss != null && boss.senjataBoss4 != null && nyawaSenjataBoss4 > 0 && serangan5[k5].hitTestObject(boss.senjataBoss4)) {
  812.                                 nyawaSenjataBoss4--;
  813.                                 hapusPeluru5(k5);
  814.                             }
  815.  
  816.                             if (serangan5.length != 0 && boss != null && boss.senjataBoss5 != null && nyawaSenjataBoss5 > 0 && serangan5[k5].hitTestObject(boss.senjataBoss5)) {
  817.                                 nyawaSenjataBoss5--;
  818.                                 hapusPeluru5(k5);
  819.                             }
  820.  
  821.                             //KENA BOSS
  822.                             if (serangan5.length != 0 && boss != null && serangan5[k5].hitTestObject(boss) && nyawaSenjataBoss <= 0 && nyawaSenjataBoss2 <= 0 && nyawaSenjataBoss3 <= 0 && nyawaSenjataBoss4 <= 0 && nyawaSenjataBoss5 <= 0) {
  823.                                 nyawaBoss--; //MENGURANGI NYAWA BOSS
  824.                                 hapusPeluru5(k5);
  825.                             }
  826.                         }
  827.                     }
  828.                 }
  829.  
  830.                 //PENGECEKAN BOMB
  831.                 if (enableBomb == true && bombAmmo > 0) {
  832.                     enableBomb = false;
  833.                     if (miniBoss != null) {
  834.                         nyawaMiniBoss -= 5;
  835.                     }
  836.  
  837.                     if (boss != null) {
  838.                         nyawaBoss -= 5;
  839.                     }
  840.  
  841.                     for (var m: int = musuhAlien.length - 1; m >= 0; m--) {
  842.                         musuhAlien[m].removeEventListener(Event.ENTER_FRAME, gerakMusuh);
  843.                         hapusMusuh(m);
  844.                     }
  845.                 }
  846.  
  847.                 //PENGECEKAN SERANGAN MINI BOSS
  848.                 if (seranganMiniBoss.length != 0) {
  849.                     for (var smb: int = seranganMiniBoss.length - 1; smb >= 0; smb--) {
  850.                         //SERANGAN MINI BOSS KENA PESAWAT
  851.                         if (seranganMiniBoss[smb].hitTestObject(pesawat)) {
  852.                             hapusPeluruMiniBoss(smb); //HAPUS SERANGAN MINI BOSS
  853.                             hapusNyawa(); //HAPUS NYAWA
  854.                         }
  855.  
  856.                         if (seranganMiniBoss[smb].y > stage.stageHeight) {
  857.                             hapusPeluruMiniBoss(smb); //HAPUS SERANGAN MINI BOSS
  858.                         }
  859.                     }
  860.                 }
  861.  
  862.                 //PERGERAKAN DAN CEK HIT POWER UP
  863.                 if (power != null) {
  864.                     power.y += 7;
  865.                     if (power.hitTestObject(pesawat)) {
  866.                         if (powerRandom == 0) {
  867.                             modeTembakan = 2;
  868.                         } else if (powerRandom == 1) {
  869.                             modeTembakan = 3;
  870.                         }
  871.                         removeChild(power);
  872.                         power = null;
  873.                     }
  874.                 }
  875.  
  876.                 //CEK NYAWA SENJATA BOSS
  877.                 if (boss != null && boss.senjataBoss1 != null && nyawaSenjataBoss <= 0) {
  878.                     try{
  879.                         boss.removeChild(boss.getChildByName("senjataBoss1"));
  880.                         waktuSeranganBoss.stop();
  881.                     } catch (error: Error){
  882.                        
  883.                     }
  884.                 }
  885.  
  886.                 if (boss != null && boss.senjataBoss2 != null && nyawaSenjataBoss2 <= 0) {
  887.                     try{
  888.                         boss.removeChild(boss.getChildByName("senjataBoss2"));
  889.                         waktuSeranganBoss2.stop();
  890.                     } catch (error: Error){
  891.                        
  892.                     }
  893.                 }
  894.  
  895.                 if (boss != null && boss.senjataBoss3 != null && nyawaSenjataBoss3 <= 0) {
  896.                     try{
  897.                         boss.removeChild(boss.getChildByName("senjataBoss3"));
  898.                         waktuSeranganBoss3.stop();
  899.                     } catch (error: Error){
  900.                        
  901.                     }
  902.                 }
  903.  
  904.                 if (boss != null && boss.senjataBoss4 != null && nyawaSenjataBoss4 <= 0) {
  905.                     try{
  906.                         boss.removeChild(boss.getChildByName("senjataBoss4"));
  907.                         waktuSeranganBoss4.stop();
  908.                     } catch (error: Error){
  909.                        
  910.                     }
  911.                 }
  912.  
  913.                 if (boss != null && boss.senjataBoss5 != null && nyawaSenjataBoss5 <= 0) {
  914.                     try{
  915.                         boss.removeChild(boss.getChildByName("senjataBoss5"));
  916.                         waktuSeranganBoss5.stop();
  917.                     } catch (error: Error){
  918.                        
  919.                     }
  920.                 }
  921.                
  922.                 //CEK NYAWA BOSS
  923.                 if (boss != null && nyawaBoss <= 0){
  924.                     removeChild(boss);
  925.                     boss = null;
  926.                 }
  927.    
  928.             } catch (error: Error){
  929.                 trace("Function Update: " + error);
  930.             }
  931.         }
  932.    
  933.         //PERGERAKAN MUSUH
  934.         public function gerakMusuh(evt: Event): void {
  935.             evt.currentTarget.y += 5;
  936.         }
  937.  
  938.         //PERGERAKAN PELURU TENGAH
  939.         public function gerakPeluru(evt: Event): void {
  940.             evt.currentTarget.y -= 5;
  941.         }
  942.  
  943.         //PERGERAKAN PELURU KE-2 DARI KIRI
  944.         public function gerakPeluru2(evt: Event): void {
  945.             evt.currentTarget.x -= 1;
  946.             evt.currentTarget.y -= 5;
  947.         }
  948.  
  949.         //PERGERAKAN PELURU KE-2 DARI KANAN
  950.         public function gerakPeluru3(evt: Event): void {
  951.             evt.currentTarget.x += 1;
  952.             evt.currentTarget.y -= 5;
  953.         }
  954.  
  955.         //PERGERAKAN PELURU PALING KIRI
  956.         public function gerakPeluru4(evt: Event): void {
  957.             evt.currentTarget.x -= 1.5;
  958.             evt.currentTarget.y -= 5;
  959.         }
  960.  
  961.         //PERGERAKAN PELURU PALING KANAN
  962.         public function gerakPeluru5(evt: Event): void {
  963.             evt.currentTarget.x += 1.5;
  964.             evt.currentTarget.y -= 5;
  965.         }
  966.  
  967.         //PERGERAKAN PELURU MINI BOSS
  968.         public function gerakPeluruMiniBoss(evt: Event): void {
  969.             evt.currentTarget.y += 5;
  970.         }
  971.  
  972.         //HAPUS NYAWA PESAWAT
  973.         public function hapusNyawa(): void {
  974.             if (nyawa.length > 0) {
  975.                 removeChild(nyawa[nyawa.length - 1]);
  976.                 nyawa[nyawa.length - 1] = null;
  977.                 nyawa.splice(nyawa.length - 1, 1);
  978.             }
  979.  
  980.             //KONDISI SETELAH NYAWA BERKURANG
  981.             if (nyawa.length == 0) {
  982.                 //GAME OVER
  983.                 removeAndStop();
  984.             } else if (nyawa.length > 0) {
  985.                 //PESAWAT MUNCUL LAGI DARI BAWAH
  986.                 pesawat.y = stage.stageHeight - 10;
  987.                 TweenMax.to(pesawat, 1, {
  988.                     y: (stage.stageHeight - pesawat.height) - 10,
  989.                     ease: Expo.easeOut
  990.                 });
  991.             }
  992.         }
  993.  
  994.         //TRY CATCH HAPUS PELURU
  995.         try{
  996.             //HAPUS PELURU TENGAH DARI STAGE
  997.             public function hapusPeluru(index:int): void {
  998.                 serangan[index].removeEventListener(Event.ENTER_FRAME, gerakPeluru);
  999.                 removeChild(serangan[index]);
  1000.                 serangan[index] = null;
  1001.                 serangan.splice(index, 1);
  1002.             }
  1003.  
  1004.             //HAPUS PELURU KE-2 DARI KIRI
  1005.             public function hapusPeluru2(index:int): void {
  1006.                 serangan2[index].removeEventListener(Event.ENTER_FRAME, gerakPeluru2);
  1007.                 removeChild(serangan2[index]);
  1008.                 serangan2[index] = null;
  1009.                 serangan2.splice(index, 1);
  1010.             }
  1011.  
  1012.             //HAPUS PELURU KE-2 DARI KANAN
  1013.             public function hapusPeluru3(index: int): void {
  1014.                 serangan3[index].removeEventListener(Event.ENTER_FRAME, gerakPeluru3);
  1015.                 removeChild(serangan3[index]);
  1016.                 serangan3[index] = null;
  1017.                 serangan3.splice(index, 1);
  1018.             }
  1019.  
  1020.             //HAPUS PELURU PALING KIRI
  1021.             public function hapusPeluru4(index: int): void {
  1022.                 serangan4[index].removeEventListener(Event.ENTER_FRAME, gerakPeluru4);
  1023.                 removeChild(serangan4[index]);
  1024.                 serangan4[index] = null;
  1025.                 serangan4.splice(index, 1);
  1026.             }
  1027.  
  1028.             //HAPUS PELURU PALING KANAN
  1029.             public function hapusPeluru5(index: int): void {
  1030.                 serangan5[index].removeEventListener(Event.ENTER_FRAME, gerakPeluru5);
  1031.                 removeChild(serangan5[index]);
  1032.                 serangan5[index] = null;
  1033.                 serangan5.splice(index, 1);
  1034.             }
  1035.         } catch (error: Error){
  1036.             trace("Error Hapus Peluru: " + error);
  1037.         }
  1038.  
  1039.         //ANIMASI MUSUH KETIKA TERKENA TEMBAKAN
  1040.         public function animasiHapusMusuh(index: int): void {
  1041.             statusMusuh[index] = 0;
  1042.             musuhAlien[index].removeEventListener(Event.ENTER_FRAME, gerakMusuh);
  1043.             TweenMax.to(musuhAlien[index], 1, {
  1044.                 rotation: 360,
  1045.                 scaleX: 0.1,
  1046.                 scaleY: 0.1,
  1047.                 alpha: 0,
  1048.                 onComplete: hapusMusuh,
  1049.                 onCompleteParams: [index]
  1050.             });
  1051.         }
  1052.  
  1053.         //HAPUS MUSUH DARI STAGE
  1054.         public function hapusMusuh(index:int): void {
  1055.             //TRY CATCH HAPUS MUSUH
  1056.             try {
  1057.                 if (musuhAlien[index] != null){
  1058.                     statusMusuh[index] = 0;
  1059.                     removeChild(musuhAlien[index]);
  1060.                     //musuhAlien[index] = null;
  1061.                     musuhAlien.splice(index, 1);
  1062.                     //statusMusuh[index] = null;
  1063.                     statusMusuh.splice(index, 1);
  1064.                     tambahSkor(50);
  1065.                 }
  1066.             }
  1067.             catch(error:Error){
  1068.                 trace("Error Hapus Musuh: " + error);
  1069.             }
  1070.         }
  1071.  
  1072.         //HAPUS PELURU MINI BOSS
  1073.         public function hapusPeluruMiniBoss(index: int): void {
  1074.             seranganMiniBoss[index].removeEventListener(Event.ENTER_FRAME, gerakPeluruMiniBoss);
  1075.             removeChild(seranganMiniBoss[index]);
  1076.             seranganMiniBoss[index] = null;
  1077.             seranganMiniBoss.splice(index, 1);
  1078.         }
  1079.  
  1080.         //HAPUS BOSS
  1081.         public function hapusBoss(): void {
  1082.             waktuSeranganBoss.stop();
  1083.             statusBoss = 0;
  1084.             TweenMax.to(boss, 1, {
  1085.                 rotation: 360,
  1086.                 scaleX: 0.1,
  1087.                 scaleY: 0.1,
  1088.                 alpha: 0
  1089.             });
  1090.             removeChild(boss);
  1091.             boss = null;
  1092.             tambahSkor(5000);
  1093.         }
  1094.  
  1095.         //MENAMBAHKAN NILAI SKOR
  1096.         public function tambahSkor(score: int): void {
  1097.             skor += score;
  1098.             txtScore.text = "Score: " + skor;
  1099.         }
  1100.  
  1101.         public function resetGame(): void {
  1102.             removeAndStop();
  1103.  
  1104.             //RESET NYAWA BOSS
  1105.             nyawaBoss = 50;
  1106.             nyawaMiniBoss = 20;
  1107.  
  1108.             nyawaSenjataBoss = 20;
  1109.             nyawaSenjataBoss2 = 20;
  1110.             nyawaSenjataBoss3 = 20;
  1111.             nyawaSenjataBoss4 = 20;
  1112.             nyawaSenjataBoss5 = 20;
  1113.  
  1114.             //PANGGIL FUNGSI UTAMA
  1115.             initBintang();
  1116.  
  1117.             skor = 0;
  1118.         }
  1119.  
  1120.         public function removeAndStop(): void {
  1121.             //stage.removeEventListener(MouseEvent.MOUSE_MOVE, gerakPesawat);
  1122.             waktuSerangan.removeEventListener(TimerEvent.TIMER, tembak);
  1123.             waktuMusuh.removeEventListener(TimerEvent.TIMER, initMusuh);
  1124.             stage.removeEventListener(Event.ENTER_FRAME, update);
  1125.             waktuPowerUp.removeEventListener(TimerEvent.TIMER, initPowerUp);
  1126.             btnBomb.removeEventListener(MouseEvent.CLICK, bombDeploy);
  1127.             waktuSeranganMiniBoss.removeEventListener(TimerEvent.TIMER, tembakMusuh);
  1128.            
  1129.             waktuSeranganBoss.removeEventListener(TimerEvent.TIMER, tembakBoss);
  1130.             waktuSeranganBoss2.removeEventListener(TimerEvent.TIMER, tembakBoss2);
  1131.             waktuSeranganBoss3.removeEventListener(TimerEvent.TIMER, tembakBoss3);
  1132.             waktuSeranganBoss4.removeEventListener(TimerEvent.TIMER, tembakBoss4);
  1133.             waktuSeranganBoss5.removeEventListener(TimerEvent.TIMER, tembakBoss5);
  1134.            
  1135.             waktuSeranganBoss.stop();
  1136.             waktuSeranganBoss2.stop();
  1137.             waktuSeranganBoss3.stop();
  1138.             waktuSeranganBoss4.stop();
  1139.             waktuSeranganBoss5.stop();
  1140.            
  1141.             waktuPowerUp.stop();
  1142.             waktuSerangan.stop();
  1143.             waktuMusuh.stop();
  1144.  
  1145.             //HAPUS PESAWAT
  1146.             removeChild(pesawat);
  1147.             pesawat = null;
  1148.  
  1149.             //HAPUS PELURU
  1150.             for (var i: int = 0; i < serangan.length; i++) {
  1151.                 removeChild(serangan[i]);
  1152.                 serangan[i] = null;
  1153.             }
  1154.             serangan.length = 0;
  1155.  
  1156.             for (var i2: int = 0; i2 < serangan2.length; i2++) {
  1157.                 removeChild(serangan2[i2]);
  1158.                 serangan2[i2] = null;
  1159.             }
  1160.             serangan2.length = 0;
  1161.  
  1162.             for (var i3: int = 0; i3 < serangan3.length; i3++) {
  1163.                 removeChild(serangan3[i3]);
  1164.                 serangan3[i3] = null;
  1165.             }
  1166.             serangan3.length = 0;
  1167.  
  1168.             for (var i4: int = 0; i4 < serangan4.length; i4++) {
  1169.                 removeChild(serangan4[i4]);
  1170.                 serangan4[i4] = null;
  1171.             }
  1172.             serangan4.length = 0;
  1173.  
  1174.             for (var i5: int = 0; i5 < serangan5.length; i5++) {
  1175.                 removeChild(serangan5[i5]);
  1176.                 serangan5[i5] = null;
  1177.             }
  1178.             serangan5.length = 0;
  1179.  
  1180.             //HAPUS MUSUH
  1181.             for (var j: int = 0; j < musuhAlien.length; j++) {
  1182.                 removeChild(musuhAlien[j]);
  1183.                 musuhAlien[j] = null;
  1184.             }
  1185.             musuhAlien.length = 0;
  1186.  
  1187.             //HAPUS NYAWA
  1188.             for (var k: int = 0; k < nyawa.length; k++) {
  1189.                 removeChild(nyawa[k]);
  1190.                 nyawa[k] = null;
  1191.             }
  1192.             nyawa.length = 0;
  1193.  
  1194.             //HAPUS BINTANG
  1195.             removeChild(bintang);
  1196.             bintang = null;
  1197.             removeChild(bintang2);
  1198.             bintang2 = null;
  1199.  
  1200.             //HAPUS BOSS
  1201.             if (boss != null) {
  1202.                 removeChild(boss);
  1203.                 boss = null;
  1204.             }
  1205.            
  1206.             //HAPUS MINI BOSS
  1207.             if (miniBoss != null) {
  1208.                 removeChild(miniBoss);
  1209.                 miniBoss = null;
  1210.             }
  1211.            
  1212.             //HAPUS POWER UP
  1213.             if (power != null) {
  1214.                 removeChild(power);
  1215.                 power = null;
  1216.             }
  1217.  
  1218.             mcGameOver.x = 0;
  1219.             mcGameOver.y = 0;
  1220.             waktuPowerUp.stop();
  1221.             SoundMixer.stopAll();
  1222.         }
  1223.     }
  1224. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top