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

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

本教程主要用Flash类来制作一个特效,要用到鼠标操作元件,放大、缩小、旋转、移动。花了一些时间,终于实现了,代码整理了一下,和大家分享一下。希望大家提出意见,修改。废话少说,先看效果:

操作类:

复制代码package com.mygamemylove{
import flash.display.DisplayObject;
import flash.display.Graphics;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.geom.Point;
import flash.geom.Rectangle;
public class opObject {
private var spOp:Sprite;
private var currentOp:Sprite;
private var arrPoint:Array;
//
private var isDrogOp:Boolean;
private var isDrog:Boolean;
private var pointType:uint;
private var spPoint:Sprite;
//
private var sizeType:Number;
private var minW:Number;
private var minH:Number;
private var drawC:uint;
private var spParent:Sprite;
//旋转
private var isR:Boolean
public var nowRotation:Number;
public var pCent:Point;
public var spRotationPoint:Sprite;
public var spCenterPoint:Sprite;
public var numOpPointWH:uint;

/**
* 操作一个对象,可以放大缩小,旋转。
*原创flash代码,尽在自娱自乐 www.MyGameMyLove.com
*smallerbird smallerbird@gmail.com 2009-9-12
*
*
* @spParent:Sprite 操作对象的父对象
* @currentOp:Sprite 其中操作的一个对象
* @sizeType:Number 调整尺寸的显示模式。
* @minW:Number 缩小最小尺寸宽
* @minH:Number 缩小最小尺寸高
* @drawC:Number 操作柄的色
* @numOpPointWH:Number 操作柄的宽高
* */
public function opObject(spParent:Sprite,currentOp:Sprite, sizeType:Number=1,
minW:Number=10, minH:Number=10, drawC:Number=0xff0000, numOpPointWH:uint=10){

this.numOpPointWH=numOpPointWH;
this.currentOp=currentOp
this.spParent=spParent;
this.spParent.mouseEnabled=false;
this.sizeType=sizeType;
this.minW=minW;
this.minH=minH;
isDrogOp=false;
isDrog=false;
pointType=0;
arrPoint=new Array();
nowRotation=0;
isR=true
}
源代码下载地址:http://www.mygamemylove.com/bbs/viewthread.php?tid=48
//改变注册点
public static function RegPoint($obj:Sprite, $point:Point):void {
var tmp_point:Point=$obj.parent.globalToLocal($obj.localToGlobal($point));
var len:int=$obj.numChildren;
while (len--) {
var tmp_obj:DisplayObject=$obj.getChildAt(len);
tmp_obj.x-=$point.x;