flash on 2013-1-12

by marcsali
♥0 | Line 156 | Modified 2013-01-21 09:35:34 | MIT License
play

ActionScript3 source code

/**
 * Copyright marcsali ( http://wonderfl.net/user/marcsali )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/ha76
 */

package {
    import flash.display.Sprite;
    import flash.text.TextField;
    import flash.text.TextFormat;
    import flash.events.MouseEvent;
    import flash.events.KeyboardEvent;
    import flash.ui.Keyboard;
    import flash.events.Event;
    [SWF(width=580, height=460, backgroundColor="#33ffff", frameRate=100)]
   public class Main extends Sprite {
        private var _hikouki:Sprite;
        private var _marus:Array = [];
        private var _marus_move:Array = [];
        private var _count:Number = 0;
        private var _count2:Number = 0;
        private var _stage_num:Number = 10;
        private var _hp_num:Number = 10;
        private var hpFld:TextField;
        private var hpInfo:TextField;
        private var stageFld:TextField; 
        public var avion_X:Number=290;
        public var avion_Y:Number=230;  
 
            
        public function Main():void { 
            
            _hikouki=new Sprite();
            _hikouki.graphics.beginFill(0x22FFFF); 
            _hikouki.graphics.moveTo(avion_X+0, avion_Y-4);
            _hikouki.graphics.lineTo(avion_X+3, avion_Y-2);
            _hikouki.graphics.lineTo(avion_X+7, avion_Y-2);
            _hikouki.graphics.lineTo(avion_X+7, avion_Y);
            _hikouki.graphics.lineTo(avion_X+3, avion_Y);
            _hikouki.graphics.lineTo(avion_X+3,avion_Y+3);
            _hikouki.graphics.lineTo(avion_X+20,avion_Y+3);
            _hikouki.graphics.lineTo(avion_X+20,avion_Y+10);
            _hikouki.graphics.lineTo(avion_X+3,avion_Y+13);
            _hikouki.graphics.lineTo(avion_X+3,avion_Y+18);
            _hikouki.graphics.lineTo(avion_X+12,avion_Y+21);
            _hikouki.graphics.lineTo(avion_X+12,avion_Y+25);
            _hikouki.graphics.lineTo(avion_X+2,avion_Y+25);
            _hikouki.graphics.lineTo(avion_X+0,avion_Y+28);
            _hikouki.graphics.lineTo(avion_X-2,avion_Y+25);
            _hikouki.graphics.lineTo(avion_X-12,avion_Y+25);
            _hikouki.graphics.lineTo(avion_X-12,avion_Y+21);
            _hikouki.graphics.lineTo(avion_X-3,avion_Y+18);
            _hikouki.graphics.lineTo(avion_X-3,avion_Y+13);
            _hikouki.graphics.lineTo(avion_X-20,avion_Y+10);
            _hikouki.graphics.lineTo(avion_X-20,avion_Y+3);
            _hikouki.graphics.lineTo(avion_X-3,avion_Y+3);
            _hikouki.graphics.lineTo(avion_X-3,avion_Y+0);
            _hikouki.graphics.lineTo(avion_X-7, avion_Y);
            _hikouki.graphics.lineTo(avion_X-7, avion_Y-2);
            _hikouki.graphics.lineTo(avion_X-3, avion_Y-2);
            _hikouki.graphics.lineTo(avion_X+0, avion_Y-4);
            addChild(_hikouki);
            hpFld = new TextField();
            hpFld.textColor=0x666666;
            hpInfo = new TextField();
            hpInfo.textColor=0xbbfffff;
            var textFormat:TextFormat = new TextFormat();
            textFormat.size=20;
            hpFld.defaultTextFormat=textFormat;
            addChild(hpFld);            
            hpFld.x=10;
            hpFld.text="HP 10";
            stageFld = new TextField();
            stageFld.textColor=0x666666;
            stageFld.defaultTextFormat=textFormat;
            addChild(stageFld);
            stageFld.x=390;
            stageFld.text = "Stage 1";
            hpInfo.defaultTextFormat=textFormat;
            addChild(hpInfo);
            hpInfo.x=480;
            hpInfo.y=450;
            hpInfo.width=100;
            hpInfo.text="By SkyDro"; 
            addChild(myKeyDown);
          }
           
          public  function myKeyDown(){   
          
          this.addEventListener(Event.ENTER_FRAME, onEnter3); 
          this.addEventListener(Event.ENTER_FRAME, onEnter2);    
          this.addEventListener(Event.ENTER_FRAME, onEnter1);    
                                  
       }                             
       
            
   
          public function onEnter1(e:Event):void { 
            var n:int=_marus.length;
            for (var i:int = 0; i < n; i++) {
                if (_marus[i].parent) {
                    if (_marus[i].y<580) {
                        _marus[i].y+=_marus_move[i];
                        if (_marus[i].hitTestObject(_hikouki)) {
                            _marus[i].visible=false;
                            _marus[i].graphics.clear();
                            _hp_num-=1;
                            hpFld.text="HP "+_hp_num;
                            if (_hp_num==0) {
                                //GAMEOVER
                                var shikaku:Sprite=new Sprite();
                                shikaku.graphics.beginFill(0xFF3366);
                                shikaku.graphics.moveTo(0, 0);
                                shikaku.graphics.lineTo(480, 0);
                                shikaku.graphics.lineTo(480, 480);
                                shikaku.graphics.lineTo(0, 480);
                                shikaku.graphics.lineTo(0, 0);
                                this.addChild(shikaku);
                                //GAMEOVER
                                var tf:TextField = new TextField();
                                tf.width=300;
                                var textFormat:TextFormat = new TextFormat();
                                textFormat.size=20;
                                tf.defaultTextFormat=textFormat;
                                tf.textColor=0xffffff;
                                tf.y=220;
                                tf.x=180;
                                this.addChild(tf);
                                tf.text="GAME OVER";
                                removeEventListener(Event.ENTER_FRAME,onEnter1);
                                removeEventListener(Event.ENTER_FRAME,onEnter2);
                                removeEventListener(Event.ENTER_FRAME,onEnter3);                      
                
                               }
                        }      
                    } else {
                        this.removeChild(_marus[i]);
                       //_marus[i].graphics.clear();
                    }
                } 
           } 
       }
       public function onEnter2(e:Event):void {
            var avion_XX:Number = avion_X;
            var avion_YY:Number = avion_Y;
            _hikouki.x +=(stage.mouseX-_hikouki.x )*0.2 - avion_XX/5;
            _hikouki.y +=(stage.mouseY-_hikouki.y )*0.2 - avion_YY/5;           

        }
       public function onEnter3(e:Event):void {
            _count++;
            _count2++;
            if (_count2==200) {
                _stage_num--;
                stageFld.text="Stage "+(10-_stage_num);
                _count2=0;
                _count=0;
            }
            if (_count==_stage_num) {
                _count=0;
                var myColor:Number=Math.random();
                var myAlpha:Number=Math.random()*0.5+0.3;
                var mySize:Number=Math.random()*15+5;
                var maru:Sprite = new Sprite();
                maru.graphics.beginFill(myColor * 0xFFFFFF, myAlpha);
                maru.graphics.drawCircle(0, 0, mySize);
                maru.graphics.endFill();
                maru.x=Math.random()*580;
                this.addChild(maru);
                _marus.push(maru);
                _marus_move.push(Math.random() * 20 + 1);
                }
            }
          }        
      }