引导遮罩
来源:互联网 发布:科比公司 知乎 编辑:程序博客网 时间:2024/04/29 08:33
package
{
import flash.display.Sprite;
import flash.geom.Rectangle;
import mx.core.UIComponent;
import mx.effects.Fade;
public class GuideMask extends UIComponent
{
private var maskSp:Sprite;
private var line_UI:UIComponent;
private var fade:Fade;
public function GuideMask()
{
super();
this.mouseEnabled = false;
this.mouseChildren = true;
maskSp = new Sprite;
addChild(maskSp);
line_UI = new UIComponent();
line_UI.mouseChildren = false;
line_UI.mouseEnabled = false;
addChild(line_UI);
//动画闪烁
fade = new Fade();
fade.target = line_UI;
fade.duration = 1000;
fade.repeatCount = 0;
}
/**
* 初始化引导框
*
* @param x
* @param y
* @param w
* @param h
*
*/
public function initView(rec:Rectangle,rec2:Rectangle=null,showTip:Boolean=true,showMask:Boolean=true):void
{
visible = true;
stopFade();
maskSp.visible = true;
line_UI.visible = true;
createMaskNew(rec,rec2,showTip,showMask);
startFade();
}
private function createMaskNew(rec:Rectangle,rec2:Rectangle,showTip:Boolean=true,showMask:Boolean=true):void
{
maskSp.graphics.clear();
line_UI.graphics.clear();
if(showMask){
//从beginFill开始填充颜色,封闭路径内 不填充 所以得到一个中间镂空的遮罩层
maskSp.graphics.lineStyle( 0 );
maskSp.graphics.beginFill( 0x000000 , 0.4 ); //背景颜色和透明度
maskSp.graphics.drawRect( 0 , 0 ,4000,2000); //以舞台宽高画背景
maskSp.graphics.lineStyle( 2 , 0x000000 ,0); //画一个镂空的框
maskSp.graphics.drawRect( rec.x , rec.y , rec.width , rec.height ); //在200,200处画一个框
if(rec2){
maskSp.graphics.drawRect( rec2.x , rec2.y , rec2.width , rec2.height );
}
maskSp.graphics.endFill(); //结束填充
}
if(showTip){
//勾勒红色提示框
line_UI.graphics.lineStyle(2, 0xFF0000, 1);
line_UI.graphics.moveTo(rec.x, rec.y);
line_UI.graphics.lineTo(rec.x + rec.width, rec.y);
line_UI.graphics.lineTo(rec.x + rec.width, rec.y + rec.height);
line_UI.graphics.lineTo(rec.x, rec.y + rec.height);
line_UI.graphics.lineTo(rec.x, rec.y);
if(rec2){
line_UI.graphics.moveTo(rec2.x, rec2.y);
line_UI.graphics.lineTo(rec2.x + rec2.width, rec2.y);
line_UI.graphics.lineTo(rec2.x + rec2.width, rec2.y + rec2.height);
line_UI.graphics.lineTo(rec2.x, rec2.y + rec2.height);
line_UI.graphics.lineTo(rec2.x, rec2.y);
}
}
}
public function startFade():void
{
line_UI.alpha = 1;
fade.stop();
fade.play(null, true);
}
public function stopFade():void
{
line_UI.alpha = 0;
fade.stop();
}
public function clear():void
{
if(maskSp){
maskSp.visible = false;
}
if(line_UI){
line_UI.visible = false;
}
}
}
}
var guide:GuideMaskComp=new GuideMaskComp
this.addChild(guide)
var re:Rectangle=new Rectangle(300,300,100,100)
guide.initView(re,null,true,true)
- 引导遮罩
- 【Unity】新手引导遮罩
- 新手引导遮罩控件
- 对于新手引导的遮罩处理
- [Unity3D]UGUI 新手引导遮罩控件
- CSS实现镂空遮罩引导层
- Unity新手引导相关遮罩处理
- [Unity3D]UGUI 新手引导遮罩控件
- uitexture实现新手引导遮罩等
- 引导
- 引导
- 引导
- cocos2d-x新手引导遮罩CCClippingNode裁剪区域
- Cocos2d-x教程(11)-利用遮罩(蒙版)CCLayerColor制作新手引导界面(上)
- Cocos2d-x教程(12)-利用遮罩(蒙版)CCLayerColor制作新手引导界面(中)
- Cocos2d-x教程(11)-利用遮罩(蒙版)CCLayerColor制作新手引导界面(上)
- Cocos2d-x教程(12)-利用遮罩(蒙版)CCLayerColor制作新手引导界面(中)
- iOS开发- 自定义遮罩视图(引导, 功能说明)源码+解析
- Bulk Insert Sample
- IOS 构造和使用TableView(基于storyboard) (五)构建页眉和页脚
- 二叉树:性质及遍历
- SQL分页排序的实现与分页数据重复问题——以Oracle rownum为例
- 悠悠春天的味道
- 引导遮罩
- 10个高品质的免费图库站点下载高清图片
- Shiro 手动 close session There is no session with id [XXX]
- 位操作符
- android Toast大全(五种情形)建立属于你自己的Toast
- cts-verifier Data Backup Test测试步骤
- 【递归经典题目】欧几里得算法求最大公约数
- QQ空间营销是用技巧分享
- 随机选择