flash on 2011-6-13
♥0 |
Line 100 |
Modified 2011-07-20 12:48:31 |
GPLv3 License
archived:2017-03-20 06:56:35
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>