0

ゲームの実行中に次のエラーが表示されます。

コピー&ペースト形式の問題の画像として

このエラーは、Portal_Sign というクラスのインスタンスを作成すると発生します。通常、次のコードを使用します: game.stage.addActor((Actor) con.newInstance(parameters)); Class.class.getConstructor() から「con」オブジェクトを取得しました。これは、リフレクションを使用してオブジェクトをインスタンス化していることを意味します (それぞれが合理的に類似したコンストラクターを持つ多くのオブジェクトのいずれかを構築できるため)。

Portal_Sign が作成されているときにのみエラーが発生することはわかっています。場所を表す Vector2 の値を new Vector2(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));
    }

2 つの Portal_Signs を作成すると、エラーはなくなります。

ここにいくつかのソース コードがあります: http://hobogames.atspace.cc/TEMPFORERROR/LevelManager.java (関連するコードは、load メソッドの下部にある try/catch にあります)

http://hobogames.atspace.cc/TEMPFORERROR/Portal_Sign.java

http://hobogames.atspace.cc/TEMPFORERROR/packs.level ロード中のファイル。アップロードされたバージョンでは、2 つの標識が作成されるため、エラーは発生しないことに注意してください。ただし、最後の行 (Portal_Sign(4,1,0,0,"Baddies|0/32");) を削除すると、リストされたエラーが発生します。

http://hobogames.atspace.cc/TEMPFORERROR/Solid.java Portal_Sign の最上位の親であり、Libgdx と box2D の物理要素と場所を扱います。

この問題が発生する理由がわかりません。ヒントがあれば助かります。助けてください。私から何か他のものが欲しい場合は、それを求めてください。

4

0 に答える 0