📄 newiriseffect.as
字号:
package tree
{
import mx.effects.MaskEffect
import mx.effects.EffectInstance
import mx.controls.SWFLoader;
import flash.display.Shape;
import mx.core.FlexShape;
import flash.display.Graphics;
import flash.geom.Rectangle;
public class NewIrisEffect extends MaskEffect {
public var position:String;
function NewIrisEffect(target:Object = null){
super(target);
instanceClass = NewIrisInstance;
this.createMaskFunction = createLargeMask;
}
//从
public function createLargeMask(targ:Object, bounds:Rectangle):Shape{
// By default, create a mask that is the shape of the target.
var targetWidth:Number = bounds.width / Math.abs(targ.scaleX);
var targetHeight:Number = bounds.height / Math.abs(targ.scaleY);
if (targ is SWFLoader) {
// Make sure the loader's content has been sized
targ.validateDisplayList();
if (targ.content)
{
targetWidth = targ.contentWidth;
targetHeight = targ.contentHeight;
}
}
var newMask:Shape = new FlexShape();
var g:Graphics = newMask.graphics;
g.beginFill(0xFFFF00);
//绘制椭圆
g.drawEllipse(0,0,targetWidth,targetHeight);
//g.drawRect(0, 0, targetWidth, targetHeight);
g.endFill();
if (target.rotation == 0)
{
newMask.width = targetWidth;
newMask.height = targetHeight;
}
else
{
var angle:Number = targ.rotation * Math.PI / 180;
var sin:Number = Math.sin(angle);
var cos:Number = Math.cos(angle);
newMask.width = Math.abs(targetWidth * cos - targetHeight * sin);
newMask.height = Math.abs(targetWidth * sin + targetHeight * cos);
}
return newMask;
}
override protected function initInstance(instance:EffectInstance):void {
super.initInstance(instance);
var maskEffectInstance:NewIrisInstance = NewIrisInstance(instance);
maskEffectInstance.showTarget = showTarget;
maskEffectInstance.xFrom = xFrom;
maskEffectInstance.yFrom = yFrom;
maskEffectInstance.xTo = xTo;
maskEffectInstance.yTo = yTo;
maskEffectInstance.scaleXFrom = scaleXFrom;
maskEffectInstance.scaleXTo = scaleXTo;
maskEffectInstance.scaleYFrom = scaleYFrom;
maskEffectInstance.scaleYTo = scaleYTo;
maskEffectInstance.position = position
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -