我加载了一个在Flash CS9(AS3)中创建的SWF。我有问题从Flex应用程序将Bitmap(或BitmapData)传递给加载的SWF。
在从Flex加载的函数中调用其他函数,但是当我尝试将Bitmap传递给加载的SWF时,没有任何反应。这是一个示例代码:
FLEX:
try{
var bm:Bitmap = (someEvent.data as Bitmap);
imageHolder.source = bm; // works fine with container inside flex app
flashSWF.setPhotoBitmap(bm);
}catch(e:Error){
tracer("error = "+e);
}
FLASH:
function setPhotoBitmap(b:Bitmap):void{
addChild(b); // throws error
}
上面引发了一个TypeError:错误#2007 可能是因为b为空。
我应该注意哪些限制,或者我在这里做错了什么?
干杯!
答案 0 :(得分:0)
答案 1 :(得分:0)
我找到了解决方法。问题是因为我犯了一个愚蠢的错误。
var bm:Bitmap = (someEvent.data as Bitmap);
问题出在上面一行。 'someEvent'是由FileReference.load()生成的,我没有意识到数据是ByteArray而不是Bitmap。
这一次,我将byteArray传递给只接受位图的函数。
对不起伙计,我的坏!
谢谢你的时间。
P