麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > Flex > 正文

Flex 實現(xiàn)可以拖動的毛玻璃效果

2024-09-12 17:51:30
字體:
供稿:網(wǎng)友
復(fù)制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" clipContent="true" verticalScrollPolicy="off" horizontalScrollPolicy="off"
width="100%" height="100%" horizontalAlign="center" verticalAlign="middle" backgroundColor="#FFFFFF"
creationComplete="onCreationComplete(event)" mouseUp="onMouseUp(event)" mouseMove="onMouseMove(event)">
<mx:Script source="FrostedGlass.as"/>
<mx:Container id="ctlContainer" x="0" y="0" width="100%" height="100%"
clipContent="true" horizontalScrollPolicy="off" verticalScrollPolicy="off">
<mx:Image horizontalAlign="center" id="ctlImage" x="0" y="0" width="1024" height="768" maintainAspectRatio="true"
source="@Embed(source='images/bg.jpg')"
/>
</mx:Container>
<mx:Box borderStyle="solid" borderThickness="1"
borderColor="#000000" render="onBoxRender(event)"
x="200" y="200" height="200" width="400" id="ctlBox"
filters="{[new DropShadowFilter(5, 45, 0x000000,0.5)]}"
mouseDown="onMouseDown(event)" />
</mx:Application>

此場景對應(yīng)的類為:
復(fù)制代碼 代碼如下:

// ActionScript file
import flash.display.BitmapData;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.filters.BlurFilter;
import flash.geom.Matrix;
import flash.geom.Point;
import flash.geom.Rectangle;
private var m_mouseDown : Boolean = false;
private var m_offsetPt : Point;
private function onCreationComplete(evt:Event) : void
{
onBoxRender(null);
}
private function onBoxRender(evt:Event) : void
{
if( ctlContainer.width > 0 && ctlContainer.height > 0 )
{
var bmpData : BitmapData = new BitmapData( ctlContainer.width, ctlContainer.height, false);
var matrix : Matrix = new Matrix();

// 對矩陣進行平移變換
matrix.translate( -1 * ctlBox.x, -1 * ctlBox.y);

// 將背景填充到移動元件上來
bmpData.draw( ctlContainer
, matrix
, null
, null
, new Rectangle( 0, 0, ctlBox.width + 4, ctlBox.height + 4) // 裁剪區(qū)域
);
bmpData.applyFilter( bmpData
, new Rectangle( 0, 0, bmpData.width, bmpData.height)
, new Point( 0, 0)
, new BlurFilter( 5, 5, 5) // BlurFilter的參數(shù)越大計算量越大 移動的時候越卡
);
ctlBox.graphics.beginBitmapFill(bmpData, null, false, false);
ctlBox.graphics.drawRect( 0, 0, ctlBox.width, ctlBox.height);
ctlBox.graphics.endFill();
}
}
private function onMouseDown(evt:MouseEvent) : void
{
m_mouseDown = true;
m_offsetPt = new Point( ctlBox.mouseX, ctlBox.mouseY);
}
private function onMouseUp(evt:MouseEvent) : void
{
m_mouseDown = false;
evt.updateAfterEvent();
}
private function onMouseMove(evt:MouseEvent) : void
{
if( m_mouseDown )
{
ctlBox.x = evt.stageX - m_offsetPt.x;
ctlBox.y = evt.stageY - m_offsetPt.y;
evt.updateAfterEvent();
}
}
// ActionScript file
import flash.display.BitmapData;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.filters.BlurFilter;
import flash.geom.Matrix;
import flash.geom.Point;
import flash.geom.Rectangle;
private var m_mouseDown : Boolean = false;
private var m_offsetPt : Point;
private function onCreationComplete(evt:Event) : void
{
    onBoxRender(null);
}
private function onBoxRender(evt:Event) : void
{
    if( ctlContainer.width > 0 && ctlContainer.height > 0 )
    {
        var bmpData : BitmapData = new BitmapData( ctlContainer.width, ctlContainer.height, false);
        var matrix : Matrix = new Matrix();

        // 對矩陣進行平移變換
        matrix.translate( -1 * ctlBox.x, -1 * ctlBox.y);

        // 將背景填充到移動元件上來
        bmpData.draw( ctlContainer
        , matrix
        , null
        , null
        , new Rectangle( 0, 0, ctlBox.width + 4, ctlBox.height + 4) // 裁剪區(qū)域
        );
        bmpData.applyFilter( bmpData
            , new Rectangle( 0, 0, bmpData.width, bmpData.height)
            , new Point( 0, 0)
            , new BlurFilter( 5, 5, 5) // BlurFilter的參數(shù)越大計算量越大 移動的時候越卡
            );
        ctlBox.graphics.beginBitmapFill(bmpData, null, false, false);
        ctlBox.graphics.drawRect( 0, 0, ctlBox.width, ctlBox.height);
        ctlBox.graphics.endFill();
    }
}
private function onMouseDown(evt:MouseEvent) : void
{
    m_mouseDown = true;
    m_offsetPt = new Point( ctlBox.mouseX, ctlBox.mouseY);
}
private function onMouseUp(evt:MouseEvent) : void
{
    m_mouseDown = false;
    evt.updateAfterEvent();
}
private function onMouseMove(evt:MouseEvent) : void
{
    if( m_mouseDown )
    {
        ctlBox.x = evt.stageX - m_offsetPt.x;
        ctlBox.y = evt.stageY - m_offsetPt.y;
        evt.updateAfterEvent();
    }
}

對于Flex/Silverlight開發(fā)者來說很不方便。只能用第三方站點才能放Flash/Silverlight
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: a级毛片免费观看在线播放 日本aaa一级片 | 成人小视频免费在线观看 | 国产精品麻豆91 | 久久国产精品99国产 | 久久人人人 | 日韩大片在线永久观看视频网站免费 | 99精品国产一区二区三区 | 亚洲国产二区 | 欧美成人精品一区 | 国产精品刺激对白麻豆99 | 亚洲性生活免费视频 | 午夜精品视频免费观看 | 2021狠狠操| 毛片在哪看 | 亚洲精品动漫在线观看 | 久久国产综合精品 | 最新中文在线视频 | 91福利免费观看 | 国产一区二区精品在线观看 | 久国产精品视频 | 国产午夜精品理论片a级探花 | 日本中文字幕久久 | 噜噜噜影院 | 欧美精品国产综合久久 | 国产一区二区三区色淫影院 | 日日噜噜噜夜夜狠狠久久蜜桃 | 久久蜜桃精品一区二区三区综合网 | 久久精品国产久精国产 | 日韩黄色片网站 | 国产二区三区在线播放 | 九九热精品免费视频 | 中文字幕偷拍 | 国产人成免费爽爽爽视频 | 亚洲码无人客一区二区三区 | 最新一级毛片 | 香蕉国产片 | 伊人av影院 | 制服丝袜成人动漫 | 99最新地址| 91精品国产综合久久婷婷香 | 成人午夜精品久久久久久久蜜臀 |