0

我在 Animate CC 的舞台上有一些 PNG 图像,如何用另一个通过代码导入库的 PNG 更改/交换图像?

4

1 回答 1

0

要从库中添加图像,您需要为该图像设置 AS3 类(让它成为 image.flame),然后

import image.flame;
import flash.display.Bitmap;
import flash.display.BitmapData;

var aRaster:BitmapData = new image.flame();
var aBitmap:Bitmap = new Bitmap(aRaster);

aBitmap.name = "Flame";
addChild(aBitmap);

删除可能有点棘手。

1) 如果 Animate CC 允许命名位图实例,那么您很幸运,可以命名它(例如 Flame),然后:

removeChild(getChildByName("Flame"));

1.1) 你也可以用 MovieClip 包装该位图并给它一个正确的名称。我认为这是最可靠的方法。

2)如果 Animate CC 不允许命名位图,就像我没有的 CS6 一样,那么您最多可以选择几个选项。

2.1)如果您的位图是其容器中唯一的孩子,只需将其删除

removeChildAt(0);

2.2)如果它是其他一些内容中唯一的位图,你可以找到它并删除:

for (var i:int = 0; i < numChildren; i ++)
{
    var aChild:Bitmap = getChildAt(i) as Bitmap;

    if (aChild)
    {
        removeChild(aChild);
        break;
    }
}

2.3) 如果该位图是多个位图之一,并且此容器中还有其他内容,那么...猜测它的深度并removeChildAt(...)它,或者选择选项#1.1 并用 MovieClip 包装该位图具有实例名称并可用于删除。

PS 顺便说一句,我记得在 CS6 之前,Flash 将位图(位图类)转换为位图填充的形状(形状类),所以无论如何#1.1 是你最好的朋友。

于 2017-02-07T21:56:01.833 回答