2016-07-08 27 views
2

jedes Mal wenn ich versuche, einige Körper ich dieses Fehlerprotokoll hier zu löschen oder erstellen:Libgdx/Java erstellen/löschen Bodies erstellt Java Protokollfehler

http://pastebin.com/nTgsNdzZ

ich löschen/erstelle meinen Körper so:

löschen:

@Override 
public void onDead() { 

    super.onDead(); 

    /* 
    attackTimer.cancel(); 
    attackTimer.purge(); 

    resetTimer.cancel(); 
    resetTimer.purge(); 
    */ 

    if(!game.hostServer && ! gameScreen.launcher.network.client.isConnected()){ 

     boolean spawned = false; 

     while(!spawned){    

      int rdmChance = ThreadLocalRandom.current().nextInt(-2, 1 + 1); 

      switch (rdmChance) { 

      default : 

       spawned = true; 

       break; 

      case 1: 

       HealthTank spawnedTank = new HealthTank(gameScreen, entityBody.getPosition()); 

       gameScreen.items.add(spawnedTank); 

       spawned = true; 

       break; 

      } 

     } 

    } 

    if(!gameScreen.lightManager.world.isLocked() && entityBody.getUserData() != null && entityBody != null){ 

     entityBody.setUserData(null); 

     activated = false; 

     gameScreen.lightManager.world.destroyBody(entityBody); 

    } 

    removeNetworkEntity(); 

} 

erstellen:

public void randomizeSpawning(){ 

    int enemyCounter = 0; 

    while(enemyCounter < enemyCount){ 

     int x = ThreadLocalRandom.current().nextInt(0, 49 + 1); 
     int y = ThreadLocalRandom.current().nextInt(0, 49 + 1); 

     if(game.grid[y][x] == 1 && SteeringUtils.distanz(new Vector2(x, y), new Vector2(gameScreen.playerEntity.getPosition().x, gameScreen.playerEntity.getPosition().y)) > 500){ 

       if(!gameScreen.lightManager.world.isLocked()){ 

        Body body = gameScreen.createCircleBody(new Vector2(x*Box2dVars.UNIT,y*Box2dVars.UNIT), 20, 0); 

        EnemyEntity entity = new EnemyEntity(gameScreen, body); 
        entity.setUpBehaviors(gameScreen.playerEntity); 

        gameScreen.enemyEntityList.add(entity); 

        PacketMPMob mob = new PacketMPMob(); 
        mob.listId = enemyCounter; 
        mob.id = gameScreen.launcher.network.client.getID(); 
        mob.position = new Vector2(entity.getPosition().x * Box2dVars.UNIT, entity.getPosition().y * Box2dVars.UNIT); 
        mob.state = entity.getState(); 
        mob.isAlive = true; 

        gameScreen.launcher.mobsList.add(enemyCounter, mob); 



        PacketAddMob addMob = new PacketAddMob(); 
        addMob.id = gameScreen.launcher.network.client.getID(); 
        addMob.listId = enemyCounter; 
        addMob.position = new Vector2(entity.getPosition().x * Box2dVars.UNIT, entity.getPosition().y * Box2dVars.UNIT); 

        System.err.println("POSITIONS : "+new Vector2(entity.getPosition().x * Box2dVars.UNIT, entity.getPosition().y * Box2dVars.UNIT)); 

        gameScreen.launcher.network.client.sendTCP(addMob); 

        enemyCounter++; 

      } 

     } 

    } 

} 

Was mache ich falsch? Ich überprüfe, ob die Welt gesperrt ist und wenn als ich erstellen:/

+0

Warum verwenden Sie nicht einen Papierkorb für Ihr Protokoll? Ich vertraue zufälligen Download-Links nicht. – jpaugh

+0

Es ist in Ordnung, werde das jetzt tun, aber in Nicht hier, um einen Virus hier zu verbreiten, weil ich Hilfe brauche – genaray

+0

@jpaugh änderte es jetzt :) – genaray

Antwort

0

--Push--

Immer noch keine Lösung, auch nur finde ich heraus, dass dies nur dann angezeigt, wenn ich einen Körper und rechts zerstören Danach spawnen Sie einen neuen

+0

Es tut mir leid, dass Ihre Frage nicht die Aufmerksamkeit bekommt, die Sie sich erhofft haben. Dies ist jedoch keine Antwort und sollte gelöscht werden. Ein geeigneter Weg, Ihre Frage zu "pushen", wäre, sie weiter zu verbessern oder relevantere Informationen hinzuzufügen. – jpaugh