beginBitmapFill()不适用于现有的movieclip,请帮帮我

时间:2012-06-13 02:07:33

标签: actionscript-3 flash bitmapdata

我想使用beginBitmapFill()将图像填充到影片剪辑中,但我看不到图像。实际上,我已经创建了一个带盒子的影片剪辑,我把它歪了。我想在倾斜的盒子里面显示图像。而且图像也应该看起来偏斜(需要在框内填充)

enter image description here

这是我的动作脚本代码:

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);
    }

}

}

}

2 个答案:

答案 0 :(得分: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()

答案 1 :(得分:0)

试试这个:1。beginBitmapFill()2。drawRect()3。endFill()(永远不要忘记第3步!)