异常\u访问\u冲突-Java游戏

异常\u访问\u冲突-Java游戏,java,reflection,libgdx,Java,Reflection,Libgdx,我在运行游戏时遇到以下错误: 当我创建名为Portal\u Sign的类的实例时,会发生此错误。我通常使用以下代码: game.stage.addActor((Actor)con.newInstance(参数)); 我从Class.Class.getConstructor()中检索到“con”对象,这意味着我正在使用反射来实例化对象(因为我可以构造许多对象中的任何一个,每个对象都有相当相似的构造函数) 我知道只有在创建门户标志时才会出现错误。如果我将向量2中表示位置的值更改为新的向量2(1,1

我在运行游戏时遇到以下错误:

当我创建名为Portal\u Sign的类的实例时,会发生此错误。我通常使用以下代码: game.stage.addActor((Actor)con.newInstance(参数)); 我从Class.Class.getConstructor()中检索到“con”对象,这意味着我正在使用反射来实例化对象(因为我可以构造许多对象中的任何一个,每个对象都有相当相似的构造函数)

我知道只有在创建门户标志时才会出现错误。如果我将向量2中表示位置的值更改为新的向量2(1,1),我不会遇到问题。这同样适用于(0,0),(0,1),(1,0),(0,-1),(-1,0)和(-1,-1),或大于或等于-1且小于或等于+1的任何值

    if(c.getSimpleName().equals(Portal_Sign.class.getSimpleName())){
        game.stage.addActor(new Portal_Sign(game,new Vector2(2,1),0,0,"asdf|ASDF"));
    }else{
        game.stage.addActor((Actor) con.newInstance(parameters));
    }
如果我创建了两个入口符号,错误就会消失

以下是一些源代码: (相关代码位于加载方法底部的try/catch中)

正在加载的文件。注意,上载的版本不会导致错误,因为它会创建2个符号。但是,如果删除最后一行(Portal_符号(4,1,0,0,“Baddies | 0/32”)),则会出现列出的错误

Portal_Sign的最高父级,负责处理Libgdx和box2D物理内容以及位置


我不明白为什么我会遇到这个问题,任何提示都很好,请帮助。如果你还想从我这里得到什么,尽管问吧。

你已经发布了很多好信息,但还不够。错误发生在gdx本机库中,而不是您的代码中,但您需要跟踪触发它的代码位(我怀疑它不在您发布的代码中)。使用日志、堆栈跟踪或调试器。如果您创建2 x portal_sign,则不会出现错误,因此可能不是在您创建一个portal_sign时发生的。(顺便说一句,您使用参数类型来计算参数位置的代码看起来像是一场支持噩梦,一直到最后,只是说-我会针对每个类进行特定操作)。@GregHNZ嗯,我确实找到了导致错误的确切原因。。。这是我的门户网站构造器。没有那一行就没有错误,如果我做2就没有错误。如果我的立场温和,就没有错误。我觉得这与我使用的反射无关..我不明白如果你在做第一个错误时出现错误,你怎么能做两个?@GregHNZ如果我做1,那就是一个错误。如果我把同一行代码放两次,就不会有错误。我也不明白,但事情就是这样。无论我把它放在代码的哪个部分,一个game.stage.addActor(新的门户符号(game,新的向量2(2,1),0,0,“asdf | asdf”);给出错误,2个game.stage.addActor(新入口符号(game,新向量2(2,1),0,0,“asdf | asdf”);没有错误。无论两条线的距离如何。GDX库在查找Box2D实体对象的“位置”时会崩溃。您应该能够进一步缩小问题范围(更接近Box2d原语)。注意你的身体对象得到的“地址”(参见)