AS3 - 将BitmapData addChild应用于多个MovieClip

时间:2011-09-03 20:55:38

标签: actionscript-3

我需要将“_myThumb”添加到4个容器MovieClip中。问题是它只适用于1个MovieClip。我需要改变什么?

var _myThumb:Bitmap;
    var _myThumbData:BitmapData;

    function createThumbs()
    {
        _myThumbData = new BitmapData(photodefault.width,photodefault.height,false,0xffffff);
        _myThumb = new Bitmap(_myThumbData);
        _myThumb.smoothing = true;
        _myThumb.scaleX = _myThumb.scaleY = 0.2;
        // Add to t1-t4 container
        photothumbs.t1.addChild(_myThumb);
        photothumbs.t2.addChild(_myThumb);
        photothumbs.t3.addChild(_myThumb);
        photothumbs.t4.addChild(_myThumb);
    }

    createThumbs();   

    function createThumbnail()
    {
        _myThumbData.draw(photodefault);
    }

感谢。 乌利

1 个答案:

答案 0 :(得分:3)

您需要为每个拇指创建单独的Bitmap对象,但您可以使用相同的源Bitmapdata。这是使用实用程序函数创建位图对象的示例:

function createThumbs()
{
    _myThumbData = new BitmapData(photodefault.width,photodefault.height,false,0xffffff);
    // Add to t1-t4 container
    photothumbs.t1.addChild(createBitmap(_myThumbData));
    photothumbs.t2.addChild(createBitmap(_myThumbData));
    photothumbs.t3.addChild(createBitmap(_myThumbData));
    photothumbs.t4.addChild(createBitmap(_myThumbData));
}

function createBitmap(bmd:BitmapData):Bitmap
{
    var bitmap:Bitmap = new Bitmap(bmd);
    bitmap.smoothing = true;
    bitmap.scaleX = bitmap.scaleY = 0.2;
    return bitmap;
}