您的位置:首页 > 其它

flex_遮盖显示对象_美女的秘密;

2012-06-26 09:21 459 查看
=>MaskApp.mxml

<?xml version="1.0" encoding="utf-8"?>

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"

xmlns:s="library://ns.adobe.com/flex/spark"

xmlns:mx="library://ns.adobe.com/flex/mx"

xmlns:aspackage="aspackage.*"

minWidth="955" minHeight="600" creationComplete="initFun(event)"

pageTitle="TheStudioOfCenyebao">

<fx:Script>

<![CDATA[

import mx.events.FlexEvent;

private function initFun(event:FlexEvent):void

{

// 初始化

}

]]>

</fx:Script>

<fx:Declarations>

<!-- 非可视元素 -->

</fx:Declarations>

<s:VGroup width="320" height="230" horizontalCenter="0" verticalCenter="0">

<aspackage:MySprite id="mySprite"/>

</s:VGroup>

</s:Application>

=>MySprite.as

package aspackage

{

import flash.display.GradientType;

import flash.display.Loader;

import flash.display.Sprite;

import flash.geom.Matrix;

import flash.net.URLRequest;

import mx.core.UIComponent;

public class MySprite extends UIComponent

{

/**

* 属性 */

public static const imgUrl:String="public/img/girl.jpg";

/**

* 构造函数

*/

public function MySprite()

{

/**

* 相片加载*/

var loader:Loader=new Loader();

var url:URLRequest=new URLRequest(imgUrl);

loader.load(url);

this.addChild(loader);

/**

* 绘制椭圆形*/

var oval:Sprite=new Sprite();

var colors:Array=[0x000000, 0x000000]; // 黑色;

var alphas:Array=[1, 0]; // 不透明度_从大到小进行渐变;

var ratios:Array=[0, 255]; // 颜色分布比率的数组;

var matrix:Matrix=new Matrix(); // 转换矩阵;

/*参数:宽、高、旋转度数、矩形左上角X、矩形左上角Y*/

matrix.createGradientBox(200, 100, 0, -100, -50);

oval.graphics.beginGradientFill(GradientType.RADIAL, colors, alphas, ratios, matrix);

oval.graphics.drawEllipse(-100, -50, 200, 100);
// 矩形左上角坐标要跟上面的Matrix相同;

oval.graphics.endFill();

this.addChild(oval);

/**

* 设置缓存*/

loader.cacheAsBitmap = true;

oval.cacheAsBitmap = true;

loader.mask = oval;
// 遮盖;

oval.startDrag(true);
// 移动;

}

}

}

=>所用素材:

girl.jpg

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: