快速业务通道

Flash类的运用:可放大、缩小、旋转的鼠标操作类

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-07
ll){

spParent.removeChild(spCenterPoint);

spCenterPoint=null;

spParent.removeChild(spRotationPoint);

}

}

//

privatefunctionshowOp4point(sp:Sprite):void{

//

clrPoint();

varr:Rectangle=sp.getRect(spParent);

//

varx1:Number=r.x;

vary1:Number=r.y;

varw1:Number=r.width;

varh1:Number=r.height;

varw2:Number=w1/2;

varh2:Number=h1/2;

//

varc:uint=drawC;

varp_tem:Sprite=spParent;

//

pCent=newPoint(x1+w2,y1+h2);

//

drawOpPont(p_tem,x1,y1,c,numOpPointWH,numOpPointWH);

drawOpPont(p_tem,x1+w2,y1,c,numOpPointWH,numOpPointWH);

drawOpPont(p_tem,x1+w1,y1,c,numOpPointWH,numOpPointWH);

//

drawOpPont(p_tem,x1+w1,y1+h2,c,numOpPointWH,numOpPointWH);

drawOpPont(p_tem,x1+w1,y1+h1,c,numOpPointWH,numOpPointWH);

//

drawOpPont(p_tem,x1+w2,y1+h1,c,numOpPointWH,numOpPointWH);

drawOpPont(p_tem,x1,y1+h1,c,numOpPointWH,numOpPointWH);

drawOpPont(p_tem,x1,y1+h2,c,numOpPointWH,numOpPointWH);

for(vari:uint=0;i<arrPoint.length;i++){

arrPoint[i].addEventListener(MouseEvent.MOUSE_DOWN,fun_point_down);

arrPoint[i].addEventListener(MouseEvent.MOUSE_UP,fun_point_up);

}

//

//画连线

vargTem:Graphics=p_tem.graphics;

gTem.clear();

gTem.lineStyle(1,c,0.5);

gTem.moveTo(arrPoint[0].x,arrPoint[0].y);

for(i=1;i<arrPoint.length;i++){

gTem.lineTo(arrPoint[i].x,arrPoint[i].y);

}

gTem.lineTo(arrPoint[0].x,arrPoint[0].y);

gTem.lineTo(arrPoint[4].x,arrPoint[4].y);

gTem.moveTo(arrPoint[6].x,arrPoint[6].y);

gTem.lineTo(arrPoint[2].x,arrPoint[2].y);

//

gTem.moveTo(arrPoint[1].x,arrPoint[1].y);

gTem.lineTo(arrPoint[5].x,arrPoint[5].y);

//

gTem.moveTo(arrPoint[7].x,arrPoint[7].y);

gTem.lineTo(arrPoint[3].x,arrPoint[3].y);

//画旋转的点

//中心点

if(isR){

spCenterPoint=newSprite();

spCenterPoint.mouseEnabled=false;

spCenterPoint.graphics.beginFill(0xff0000,0.5);

spCenterPoint.graphics.drawCircle(0,0,numOpPointWH/2);

spCenterPoint.graphics.endFill();

spCenterPoint.x=pCent.x;

spCenterPoint.y=pCent.y;

varpTem:Point=currentOp.globalToLocal(pCent);

spParent.addChild(spCenterPoint);

//旋转控制点

spRotationPoint=newSprite();

spRotationPoint.graphics.beginFill(0xff0000,0.5);

spRotationPoint.graphics.drawCircle(0,0,numOpPointWH/2);

spRotationPoint.graphics.endFill();

spRotationPoint.x=x1-numOpPointWH;

spRotationPoint.y=y1-numOpPointWH;

spParent.addChild(spRotationPoint);

spRotationPoint.addEventListener(MouseEvent.MOUSE_DOWN,fun_point_down);

spRotationPoint.addEventListener(MouseEvent.MOUSE_UP,fun_point_up);

}

//

}

publicfunctionfun_opUp(e:MouseEvent):void{

isDrogOp=false;

currentOp.stopDrag();

showOp4point(currentOp);

}

//如果isR=false不可以进行旋转操作

publicfunctionfun_opDown(e:MouseEvent,isR:Boolean=true):void{

this.isR=isR

currentOp=e.targetasSprite;

showOp4point(currentOp);

//

currentOp.startDrag();

isDrogOp=true;

}

publicfunctionfun_over(e:MouseEvent):void{

varspTem:Sprite=e.targetasSprite;

}

//

//不能越过边界

publicfunctionnoMoveBorder(rBorder:Rectangle):uint{

varr:Rectangle=currentOp.getBounds(spParent)

varnumOffsetTem:Number=10

if(rBorder.width-numOffsetTem<r.width){

currentOp.width=rBorder.width-numOf

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号