flash on 2012-7-27

by mutantleg
♥0 | Line 65 | Modified 2012-07-27 20:58:46 | MIT License
play

ActionScript3 source code

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

package {
    import flash.events.MouseEvent;
    import flash.events.Event;
    import flash.display.Graphics;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        
        
        
        public var sp1:Sprite;
        public var sp2:Sprite;
        
        
        public function FlashTest() {
            // write as3 code here..

            graphics.clear();
            graphics.beginFill(0,1);
            graphics.drawEllipse(0,200,400,50);
            
            var g:Graphics;
            sp1 = new Sprite();
            g= sp1.graphics;
            g.lineStyle(1,0x0000FF);
            g.drawCircle(0,0,8);
            
            sp2 = new Sprite();
            g = sp2.graphics;
            g.lineStyle(1,0xFF0000);
            g.drawCircle(0,0,8);
            
            addChild(sp1);
            addChild(sp2);
            
            sp1.x = 120;
            sp1.y = 30;
            
            sp2.x = 200;
            sp2.y = 40;
            
            stage.addEventListener(Event.ENTER_FRAME, onEnter);
            stage.addEventListener(MouseEvent.MOUSE_DOWN, mdown);
        }//ctor
        
        public var vx1:Number = 0;
        public var vy1:Number = 0;
        public var vy2:Number = 0;
        public var vx2:Number = 0;
        
        public function onEnter(e:Event):void
        {
            sp1.y += vy1;
            sp2.y += vy2;
            
            sp1.x += vx1;
            sp2.x += vx2;
            
            vx1 *= 0.99;
            vx2 *= 0.99;
            
            vy1 += 0.1;
            if (vy1>=0 && this.hitTestPoint(sp1.x, sp1.y+8,true)) { vy1 = 0;}
            if (this.hitTestPoint(sp1.x, sp1.y+7,true)) { sp1.y -= 1;}
            
            vy2 += 0.1;
            if (vy2>=0 && this.hitTestPoint(sp2.x, sp2.y+8,true)) { vy2 = 0;}
            if (this.hitTestPoint(sp2.x, sp2.y+7,true)) { sp2.y -= 1;}
       
            var dx:Number=sp2.x-sp1.x;
            var dy:Number=sp2.y-sp1.y;
            var alpha:Number=Math.atan2(dy,dx); 
            var xx:Number = sp2.x;
            var yy:Number = sp2.y;
            var d:Number=50;
            sp2.x=sp1.x+Math.cos(alpha)*d*0.5;
            sp2.y=sp1.y+Math.sin(alpha)*d*0.5;
            sp1.x = xx -Math.cos(alpha)*d*0.5;
            sp1.y = yy - Math.sin(alpha)*d*0.5;
            
            
        }//onenter
        
        public function mdown(e:MouseEvent):void
        {
            vx1 += 0.5;
        }//mdown
        
        
    }//classend
}