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

2019-10-08 12:29:53丽君

tmp_obj.y-=$point.y;
}
$obj.x=tmp_point.x;
$obj.y=tmp_point.y;
}
private function drawR(g:Graphics, c:uint, x:Number, y:Number, w:Number, h:Number):void {
g.beginFill(c, 0.5);
g.drawRoundRect(x, y, w, h, 5);
g.endFill();
}
private function drawOpPont(sp:Sprite, x:Number, y:Number, c:uint, w:Number, h:Number):void {
var spTem:Sprite=new Sprite();
spTem.x=x;
spTem.y=y;
drawR(spTem.graphics, c, -w / 2, -h / 2, w, h);
sp.addChild(spTem);
arrPoint.push(spTem);
}
//
private function clrPointSize():void {
if (arrPoint.length != 0) {
for (var i:uint=0; i < arrPoint.length; i++) {
arrPoint[i].removeEventListener(MouseEvent.MOUSE_DOWN, fun_point_down);
arrPoint[i].removeEventListener(MouseEvent.MOUSE_UP, fun_point_up);
spParent.removeChild(arrPoint[i]);
}
arrPoint=new Array();
}
spParent.graphics.clear();
}
//
private function clrPoint():void {
clrPointSize();
if (spCenterPoint != null) {
spParent.removeChild(spCenterPoint);
spCenterPoint=null;
spParent.removeChild(spRotationPoint);
}
}
//
private function showOp4point(sp:Sprite):void {
//
clrPoint();
var r:Rectangle=sp.getRect(spParent);
//
var x1:Number=r.x;
var y1:Number=r.y;
var w1:Number=r.width;
var h1:Number=r.height;
var w2:Number=w1 / 2;
var h2:Number=h1 / 2;
//
var c:uint=drawC;
var p_tem:Sprite=spParent;
//
pCent=new Point(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 (var i:uint=0; i < arrPoint.length; i++) {
arrPoint[i].addEventListener(MouseEvent.MOUSE_DOWN, fun_point_down);
arrPoint[i].addEventListener(MouseEvent.MOUSE_UP, fun_point_up);
}
//
//画连线
var gTem: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);