Actionscript 3 AS3将位图跟踪为";[对象形状]”/错误或特征,正在运行

Actionscript 3 AS3将位图跟踪为";[对象形状]”/错误或特征,正在运行,actionscript-3,flash,Actionscript 3,Flash,我需要在movieclip中的对象上使用GetPixel32 为了到达该对象,我使用: var bitmap=clip.getChildAt(0); //and then bitmap.bitmapData.getPixel32(x, y); 然而,即使childobject是png,我也会得到一个错误并使用 trace(clip.getChildAt(0)); 跟踪“[对象形状]” 那么Flash是否将某些位图转换为形状 请参阅this fla()以自己进行测试 有什么想法吗?放置在Fl

我需要在movieclip中的对象上使用GetPixel32

为了到达该对象,我使用:

var bitmap=clip.getChildAt(0);
//and then 
bitmap.bitmapData.getPixel32(x, y);
然而,即使childobject是png,我也会得到一个错误并使用

trace(clip.getChildAt(0));
跟踪“[对象形状]”

那么Flash是否将某些位图转换为形状

请参阅this fla()以自己进行测试


有什么想法吗?

放置在Flash时间线中的位图在编译时会转换为形状(使用位图填充), (更新) 除非库中的图像具有链接名称,否则在这种情况下,它将按预期工作并编译为位图对象

但是,您可以使用该形状绘制新位图:

var shape:DisplayObject = clip.getChildAt(0);
var bmp:BitmapData = new BitmapData(shape.width, shape.height, true, 0);
bmp.draw(shape);
bmp.getPixel32(x, y);

看起来像
剪辑。getChildAt(0)
根本不是
位图。如果它说
Shape
它是
Shape
,我能说什么?显示要将孩子添加到
clip
中的代码。若要添加到Torious,请选择var bitmap:bitmap=clip.getChildAt(0)作为位图;如果位图在此为空,则它肯定不是位图。@Torious:请检查fla。对象是位图。子对象(也称为png图像)不是通过代码添加的,只是躺在一个框架中。但情况似乎并非总是如此?在另一个使用不同png的剪辑中,位图被正确标识为[对象位图]!在我的情况下,Bitmap.draw是不可行的(性能太高)。@cay你有一些参考来支持你最初的陈述吗?没有,实际上我没有参考来支持这个。。。这只是我的经验:我从未发现放在FlashIDE时间轴中的图像会编译成位图对象@布洛菲尔德,你能再检查一下吗?也许会发布一些复制步骤?(或发布fla)@Cay我发布了fla,请检查我的原始问题。^@Cay:啊,对不起,我猜你指的是它工作的版本。。。干得好: