Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 ActionScripts 3如何替换/交换舞台内的图像?_Actionscript 3_Animate Cc - Fatal编程技术网

Actionscript 3 ActionScripts 3如何替换/交换舞台内的图像?

Actionscript 3 ActionScripts 3如何替换/交换舞台内的图像?,actionscript-3,animate-cc,Actionscript 3,Animate Cc,我在Animate CC中的一个舞台上有一些PNG图像,如何更改/交换一个图像与另一个用代码导入到库中的PNG?要从库中添加图像,您需要将该图像设置为3类(设为image.flame),然后 import image.flame; import flash.display.Bitmap; import flash.display.BitmapData; var aRaster:BitmapData = new image.flame(); var aBitmap:Bitmap = new Bi

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

要从库中添加图像,您需要将该图像设置为3类(设为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;
    }
}
for(变量i:int=0;i
2.3)如果该位图是多个位图之一,并且此容器中还有其他内容,那么。。。猜测它的深度并移除它(…)或者选择选项#1.1并用MovieClip包装位图,使其具有实例名称并可移除


另外,在CS6之前,我记得Flash将位图(位图类)转换为位图填充的形状(形状类),所以1.1是你最好的朋友。

我现在将图像转换为MovieClips,最好处理一下。你说得对,使用位图很复杂。