flash on 2011-6-13

by propg
♥0 | Line 100 | Modified 2011-07-20 12:48:31 | GPLv3 License
play

ActionScript3 source code

/**
 * Copyright propg ( http://wonderfl.net/user/propg )
 * GNU General Public License, v3 ( http://www.gnu.org/licenses/quick-guide-gplv3.html )
 * Downloaded from: http://wonderfl.net/c/h9Me
 */

<?xml version="1.0" encoding="utf-8"?>
<s:Application
    xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx"
    creationComplete="OnCreationCompleteHandler(event)">
    <s:layout>
        <s:VerticalLayout/>
    </s:layout>
    
    <fx:Style>
        @namespace s "library://ns.adobe.com/flex/spark";
        @namespace mx "library://ns.adobe.com/flex/mx";
        @namespace controls "nt.controls.*";
        @namespace controls1 "labo.controls.*";
        @namespace code "http://code.google.com/p/flexlib/";
        s|Application {
            backgroundColor: #EFE1FF;
        }

        global { 
            font-family: "MS UI Gothic", Verdana, Arial, Helvetica, sans-serif;
            fontSize:14px;
        }


    </fx:Style>

    <fx:Declarations>
            <s:GlowFilter id="glow"/>
            <s:AnimateFilter id="glower" target="{test}" bitmapFilter="{glow}" 
            duration="600" repeatCount="0" repeatBehavior="reverse">
            <s:SimpleMotionPath property="strength" valueFrom="0" valueTo="5" /> 
        </s:AnimateFilter>
    </fx:Declarations>
    <fx:Script>
        <![CDATA[
           import spark.components.BorderContainer;
           import spark.components.HGroup;
           import spark.components.Label;
           import spark.components.Button;
           import mx.core.UIComponent;
           import com.demonsters.debugger.MonsterDebugger;
           import mx.effects.Glow;
           import spark.effects.AnimateFilter;
           import spark.filters.GlowFilter;
           
           private function OnCreationCompleteHandler(event:Event):void {
                MonsterDebugger.initialize(this);
                
                var eff:AnimateFilter;
                eff = new AnimateFilter();
                eff.bitmapFilter = new GlowFilter();
                eff.repeatCount = 1000;
                eff.duration = 500;
                eff.repeatBehavior = "reverse";
                eff.play([test]);
                
                glower.play();
                
            }
            
            private var oldX:Number, oldY:Number;
            private function drawCanvasOnMouseDownHandler(event:MouseEvent):void {
                var newCanvas:Group = new Group();
                drawCanvas.addEventListener(MouseEvent.MOUSE_MOVE, newCanvasOnMouseMoveHandler);
                //drawCanvas.addEventListener(MouseEvent.MOUSE_UP, newCanvasOnMouseUpHandler);
                
                oldX = event.localX;
                oldY = event.localY;          
                newCanvas.percentWidth = 100;
                newCanvas.percentHeight = 100;
                
                var eff:Glow = new Glow();
                eff.repeatCount = 0;
                drawCanvas.addEventListener(MouseEvent.ROLL_OVER, function(event:MouseEvent):void {
                    eff.play([newCanvas]);
                });
                drawCanvas.addEventListener(MouseEvent.ROLL_OUT, function(event:MouseEvent):void {
                    newCanvas.filters = null;
                    eff.stop();
                });
                  
                //drawCanvas.addElement(newCanvas);
               
                //newCanvas.graphics.beginFill(0xccffcc, 0);
                //newCanvas.graphics.drawRect(0, 0, 200, 200);
                MonsterDebugger.trace(this, "MouseDown");

            }
            
            private function newCanvasOnMouseUpHandler(event:MouseEvent):void {
                MonsterDebugger.trace(this, "MouseUp");
                event.currentTarget.graphics.lineTo(event.localX, event.localY);
                event.currentTarget.removeEventListener(MouseEvent.MOUSE_MOVE, newCanvasOnMouseMoveHandler);
                

            }

          
            private function newCanvasOnMouseMoveHandler(event:MouseEvent):void {
                MonsterDebugger.trace(this, "MouseMove");
                var g:Graphics = drawCanvas.graphics;
                g.clear();
                g.moveTo(50,50);
                g.lineStyle(3, 0xff0000);
                g.lineTo(event.localX, event.localY);
  
//                oldX = event.localX;
//                oldY = event.localY;          
               
            }

        ]]>
    </fx:Script>
    <s:BorderContainer width="20" height="20" borderVisible="true">      
        <s:Group id="arrowMark" left="0" top="0" bottom="0" right="0" useHandCursor="true" buttonMode="true" mouseChildren="false">
      
        <s:Path left="3" top="3" right="3" bottom="3" data="{pathDataInput.text}" rotation="{rotationInput.value}" horizontalCenter="0" verticalCenter="0">
            <s:stroke>
                <s:SolidColorStroke color="0x555555" weight="1"/>
            </s:stroke>
        </s:Path>
    </s:Group>
    </s:BorderContainer>
    <s:TextInput id="pathDataInput" width="300" text="M 0 1 L 1 0 L 2 1" prompt="パス"/>
    <s:NumericStepper id="rotationInput" minimum="-360" maximum="360" value="0"/>
    <s:Button id="test"/>
    <s:Group id="drawCanvas" width="100%" height="100%" mouseDown="drawCanvasOnMouseDownHandler(event)" mouseUp="newCanvasOnMouseUpHandler(event)"/>
</s:Application>