AS3工人:收到的物品投掷"类型强制失败"错误

时间:2012-08-30 10:07:15

标签: actionscript worker

我创建了一个工作类来解析Collada文件(Alternativa3d Engine)。

我将dae / xml文件发送到Worker类并解析它。在Main类接收它时,出现错误“类型强制失败”。

这是代码。

主类:发送数据

if (bgWorkerX.state == WorkerState.RUNNING)
        {
            var _b:ByteArray = (new modelX() as ByteArray);
            var xml:XML = (new XML(_b.readUTFBytes(_b.length)));
            bgWorkerCCX.send(["START_PARSING", XParser]);
        }

主类:接收数据

if (!resultCX.messageAvailable)
        {
            return;
        }
        var result:String = resultCX.receive(true);
        if (result == "SUCCESS")
        {

            var txt3:TextField = new TextField();
            txt3.text = "Parsed result : " + Mesh(resultCX.receive(true)); //ERROR LINE : TYPE COERCION FAILED.
        }
    }

工人阶级:

private function handleCommandMessage(event:Event):void
    {
        if (!commandChannel.messageAvailable)   {
            return;
        }

        var message:Array = commandChannel.receive() as Array;

        if (message != null && message[0] == "START_PARSING")
        {
            StartParsing(XML(message[1]));
        }
    }

    private function StartParsing(xml:XML):void
    {
        parser = new ParserCollada();
        parser.parse(xml);
        resultChannel.send("SUCCESS");
        resultChannel.send(parser.getObjectByName('mainbody') as Mesh);
    }

任何人都知道如何将类似对象转换为所需类型?

1 个答案:

答案 0 :(得分:0)

尝试使用ByteArray.writeObject ...
ByteArray.readObject方法......
我也遇到过这个问题但不确定是否可以做到。
如果你成功解决了,请告诉我。