鼠标拖动画直线

<?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" >
<fx:Script>
<![CDATA[
import flash.events.MouseEvent;

import mx.binding.utils.BindingUtils;
import mx.core.UIComponent;

private var mX:Number;
private var mY:Number;
private var IsDown:Boolean=false;
private var sprite:Sprite;
private var uic:UIComponent;

public var lineSize:int;
[Bindable]
public var lineColor:int=0xff1100;

private function DrawLine():void{

paper.addEventListener(MouseEvent.MOUSE_DOWN,downHandler);
paper.addEventListener(MouseEvent.MOUSE_MOVE,movelineHandler);
paper.addEventListener(MouseEvent.MOUSE_UP,upHandler);
BindingUtils.bindProperty(this,"lineColor",cp,"selectedColor");

}
private function movelineHandler(e:MouseEvent):void{
if(IsDown){
var x:Number=paper.mouseX;
var y:Number=paper.mouseY;

paper.contentGroup.graphics.clear();
paper.contentGroup.graphics.lineStyle(lineSize,lineColor,1);

paper.contentGroup.graphics.moveTo(mX,mY);
paper.contentGroup.graphics.lineTo(x,y);

}
}

private function downHandler(e:MouseEvent):void{
IsDown=true;

mX=paper.mouseX;
mY=paper.mouseY;
}

private function upHandler(e:MouseEvent):void{
IsDown=false;
}

private function moveHandler(e:MouseEvent):void{
if(IsDown){

var x:Number = paper.mouseX;
var y:Number = paper.mouseY;
paper.contentGroup.graphics.clear();
paper.contentGroup.graphics.lineStyle(lineSize,lineColor,1);
paper.contentGroup.graphics.moveTo(mX,mY);
paper.contentGroup.graphics.lineTo(x,y);
mX=x;
mY=y;

}
}

private function doChange():void{
lineSize=int(sel.value);

}

]]>
</fx:Script>
<s:Panel title="test" width="894" height="537">
<s:Panel width="743" x="0" y="38" height="462" title="记事板" fontFamily="中易宋体">
<s:BorderContainer id="paper" width="741" height="429" x="0" contentBackgroundColor="#FFFFFF" chromeColor="#120101" y="0">
</s:BorderContainer>
</s:Panel>

<mx:ColorPicker x="138" y="10" width="23" height="24" id="cp" selectedColor="{lineColor}"/>

<s:NumericStepper x="169" y="10" id="sel" change="doChange()"/>
<s:Button x="252" y="9" label="直线" id="line" click="DrawLine()"/>
</s:Panel>
</s:Application>

转载于:https://www.cnblogs.com/wshsdlau/p/3621883.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值