-1

我有读取 JSON 文件的代码来导入有关我正在制作的游戏中关卡的信息。代码运行和编译都很好,直到每次我尝试构建时,FlashDevelop 都开始报错“构建失败”,但实际上并没有给出错误。

我通过 mxmlc 编译器运行代码,给了我一条错误消息,它返回了一条错误消息:“错误:访问未定义的属性 JSON”:

变量级别:对象 = JSON.decode(json);

这很令人困惑,因为 JSON 库显然包含在文件顶部,“import com.adobe.serialization.json.JSON;”,并且这个错误开始完全自行发生,这很奇怪......

package
{
import flash.geom.Point;
import flash.geom.Rectangle;
import flash.utils.ByteArray;
import net.flashpunk.Entity;
import com.adobe.serialization.json.JSON;

public class LevelParser
{
    public static function GetLevelByID(ID:int, source:Class):Level
    {
        // Store new entity
        var populated:Vector.<Entity> = new Vector.<Entity>();

        // Parse file into string
        var bytes:ByteArray = new source();
        var json:String = bytes.readUTFBytes(bytes.length);
        var level:Object = JSON.decode(json);

        // Find correct level
                    ...

编辑:奇怪的是,如果我注释掉调用它的行,并且这个函数,代码在 mxmlc 中编译得很好,但在 Flashdevelop 中说“构建失败”没有错误

4

1 回答 1

1

这实际上是一个参考错误。

从 AS3 SDK 4.5 开始,JSON 成为 SDK 中的原生类。在以前的版本中,您必须下载 adobe 序列化类才能访问 JSON - 这可能是您的问题。

使用 mxmlc 时,它将使用您的 sdk flex-config.xml 中指定的所有包含库进行编译。在 FlashDevelop 中,它只会使用您包含的类。

解决方案:将 adobe serialize 类添加到您的项目中

于 2013-02-12T21:04:30.090 回答