0

beginBitmapFill() を使用してムービー クリップに画像を塗りつぶしたいのですが、画像が表示されません。実際に、ボックス付きのムービー クリップを作成し、それを歪めました。歪んだボックス内の画像を表示したい。また、画像も歪んで見えるはずです(ボックス内を埋める必要があります)

ここに画像の説明を入力

これが私のアクションスクリプトコードです:

package{

import flash.display.Sprite;
import flash.display.MovieClip;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event; 
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.LoaderInfo;

public class AttachMovieClipExample extends Sprite{

public var rect:MovieClip;

public function AttachMovieClipExample()
{
    rect = new redRectangle();

    var bitmapData:BitmapData;

    var loader:Loader = new Loader();
    loader.load(new URLRequest("sam.jpg"));
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);


    function onComplete (event:Event):void
    {
        bitmapData = Bitmap(LoaderInfo(event.target).content).bitmapData;
        rect.graphics.clear();
        rect.graphics.beginBitmapFill(bitmapData,null,false,true);
       // rect.graphics.endFill();
        rect.x = 400;
        rect.y = 210;
        addChild(rect);
    }

}

}

}
4

2 に答える 2

2

あなたのonCompleteメソッドでは、への呼び出しがありませんdrawRect

function onComplete (event:Event):void
{

    bitmapData = Bitmap(LoaderInfo(event.target).content).bitmapData;
    rect.graphics.clear();
    rect.graphics.beginBitmapFill(bitmapData,null,false,true);
    rect.graphics.drawRect(x,y,height,width) //where x, y, height and width are values
    rect.graphics.endFill();
    rect.x = 400;
    rect.y = 210;
    addChild(rect);
}

グラフィックス クラスのドキュメントに詳細が記載されています。

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Graphics.html#drawRect()

于 2012-06-14T12:16:05.950 に答える
0

これを試してください: 1. beginBitmapFill() 2. drawRect() 3. endFill() (ステップ 3 を忘れないでください!)

于 2012-06-13T05:01:07.700 に答える