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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于Flash类的运用:可放大、缩小、旋转的鼠标操作类的所有评论