flash on 2017-2-4

by mutantleg
♥0 | Line 71 | Modified 2017-02-04 09:19:40 | 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/YPGP
 */

package {
    import flash.text.TextField;
    import flash.events.MouseEvent;
    import flash.events.Event;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public function FlashTest() {
            
            vecBlob = new Vector.<xBlob>(0,false);
            var a:xBlob; var i:int;
            for (i=0;i<128;i+=1)
            {
               a = new xBlob();
               a.cx = Math.random()*2048-1024;
               a.cy = Math.random()*2048-1024;
               vecBlob.push(a);                 
            }//nexti
            
            deb = new TextField();
            deb.mouseEnabled=false;
            deb.width=320;
            deb.height=240;
            addChild(deb);

            stage.addEventListener(MouseEvent.MOUSE_DOWN, onMdown);
            stage.addEventListener(MouseEvent.MOUSE_UP, onMup);
            stage.addEventListener(Event.ENTER_FRAME, onEnter);            
        }//ctor
        
        public function onMdown(e:MouseEvent):void { mbutton = 1; }
        public function onMup(e:MouseEvent):void { mbutton = 0; }

        public var deb:TextField;
        
        public var mbutton:int = 0;
        public var mhold:int = 0;
        
        public var camx:Number = 0;
        public var camy:Number = 0;
        
        public var gx:Number = 0;
        public var gy:Number = 0;
        public var wgx:Number = 0;
        public var wgy:Number = 0;

        public var vecBlob:Vector.<xBlob>;
        
        public function onEnter(e:Event):void
        {
            graphics.clear();
            graphics.lineStyle(2, 0);
            
            if (mbutton == 1) { mhold+=1; }
            else { mhold=0; }
            
            
            var wmx:Number; var wmy:Number;
            var mx:Number; var my:Number;
            mx = stage.mouseX; my = stage.mouseY;
            wmx = camx+mx;
            wmy = camy+my;
            
            //deb.text = ""+mx+"\n"+my;
            
            if (mhold == 1) { wgx = camx; wgy = camy; gx=mx; gy=my; }
            else if (mbutton == 1)
            {
              camx = (wgx ) + (gx-mx);
              camy = (wgy ) + (gy-my);              
            }
            
            graphics.drawRect(32-camx,32-camy,256,256);
            graphics.drawCircle(wmx-camx,wmy-camy, 8);
            
            var a:xBlob; var num:int; var i:int;
            num=vecBlob.length;
            for(i=0;i<num;i+=1)
            {
              a = vecBlob[i];
               graphics.drawCircle(a.cx-camx, a.cy-camy, 16); 
            }//nexti
            
            
        }//onenter
        
        
    }//classend
}

internal class xBlob
{
    public var cx:Number = 0;
    public var cy:Number = 0;
}//xblob