私のゲームでは25レベルあり、前のゲームが完了すると自動的に読み込まれます。 プレイボタンをクリックしてゲームを開始すると、ゲーム画面にJSONの障害物が表示されています。しかし、ゲームがちょうど始まったときにはじめてジャークが起こる。JSONレベルがロードされているときにゲームに初期ジャークがあります-LibGdx
は、これは私がレベルのJSONの解析を行っています私のクラスである:
public class ObstacleFactory {
public static Array<Obstacle> obstacles1 = new Array<Obstacle>();
public static Array<String> names = new Array<String>();
public ObstacleFactory() {
}
public static void loadJsonLevels(String fileName) {
JsonValue jsonValue = new JsonReader().parse(Gdx.files.internal(fileName));
JsonValue nameValue = jsonValue.get("obstacles");
for (JsonValue value : nameValue.iterator()) {
System.out.println(nameValue);
if (value.getString("name").equals("rock")) {
obstacles1.add(new Obstacle());
obstacles1.get(obstacles1.size - 1).setName(value.getString("name"));
obstacles1.get(obstacles1.size - 1).setDistance(value.getFloat("distance"));
obstacles1.get(obstacles1.size - 1).setPos(value.getString("position"));
obstacles1.get(obstacles1.size - 1).setSpeed(value.getFloat("speed"));
if (value.getString("position").equals("middle"))
obstacles1.get(obstacles1.size - 1).setPosition(value.getFloat("distance"), Constants.BIG_ROCK_Y);
obstacles1.get(obstacles1.size - 1).setSize(Constants.ROCK_WIDTH, Constants.ROCK_HEIGHT);
names.add(value.getString("name"));
}
if (value.getString("name").equals("gorilla")) {
obstacles1.add(new Obstacle());
obstacles1.get(obstacles1.size - 1).setName(value.getString("name"));
obstacles1.get(obstacles1.size - 1).setDistance(value.getFloat("distance"));
obstacles1.get(obstacles1.size - 1).setPos(value.getString("position"));
obstacles1.get(obstacles1.size - 1).setSpeed(value.getFloat("speed"));
if (value.getString("position").equals("middle"))
obstacles1.get(obstacles1.size - 1).setPosition(value.getFloat("distance"), Constants.GORILLA_Y);
obstacles1.get(obstacles1.size - 1).setSize(Constants.GORILLA_WIDTH, Constants.GORILLA_HEIGHT);
names.add(value.getString("name"));
}
// ------------other obstacles
// -------------other obstacles
names.add(value.getString("name"));
}
}
}
}
このloadJsonLevels()私は障害物のために、すべてのgamelogic、およびテクスチャロードを書いている私は(GameScreenクラスで呼び出していますJSONや他のゲームオブジェクトから)コンストラクタこのような:。
ObstacleFactory.loadJsonLevels("levels/level1.json");
ObstacleFactory.loadJsonLevels("levels/level2.json");
私が開始、またはゲームを再起動するたびに、このジャークがあり、それは迷惑ですので、削除する必要があります。
この問題の考えられる原因は何ですか?
このloadJsonLevel()を呼び出すと、このジャークが発生するため、jsonの解析とレベルの読み込みに関するコードを投稿しました。私がコメントした場合、ジャークはありません。
私は、この問題を克服するためのいくつかの有益な提案を得ることができれば幸いです。
ありがとうございます。