черные ящики вместо спрайтов при перезагрузке и движке

Все мои спрайты (которые сами по себе являются прямоугольниками, но разных цветов) отображаются как черные ящики при второй загрузке активности andengine. Это странно, потому что обычно эта проблема связана с тем, что атлас текстур недостаточно велик, но я попытался удвоить размер атласа, и это не сработало. Итак, вот соответствующий код, любая помощь будет очень признательна!

Итак, чтобы выразить это, в первый раз, когда я загружаю свою игру, все в порядке и идеально, но во второй раз спрайты кажутся черными.

Я видел другие вопросы, где спрайты отображаются в виде черных ящиков, но для меня они загружаются нормально с первого раза, чего не происходит с другими вопросами, и ответы, которые были даны на другие вопросы, не работали для меня (они были, атлас должен быть степенью двойки, а атлас недостаточно велик)

public void loadGameResources(){

    BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");

    gameTextureAtlas = new BuildableBitmapTextureAtlas(activity.getTextureManager(), 512, 512, TextureOptions.BILINEAR);

    blackTile = BitmapTextureAtlasTextureRegionFactory.createFromAsset(gameTextureAtlas, activity, "blacktile.png");
    greyTile = BitmapTextureAtlasTextureRegionFactory.createFromAsset(gameTextureAtlas, activity, "greytile.png");
    redTile = BitmapTextureAtlasTextureRegionFactory.createFromAsset(gameTextureAtlas, activity, "redtile.png");
    greenTile = BitmapTextureAtlasTextureRegionFactory.createFromAsset(gameTextureAtlas, activity, "greentile.png");
    Log.d(gameTextureAtlas+"","didn'tignore");
    loadFont();

    try{
        Log.d("LOPOLL","arrived");
        gameTextureAtlas.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 1, 0));

        Log.d("boom","arrived");

        gameTextureAtlas.load();
        Log.d("gotHere","arrived");
    }catch(Exception e){
        Log.d("WrongPlace","arrived");
    }

}

(метод выгрузки ресурсов)

public void unloadGameResources(){
    if(gameTextureAtlas !=null){
    gameTextureAtlas.unload();
    }
    gameTextureAtlas = null;

//      blackTile = null;
//      greyTile = null;
//      redTile = null;
//      greenTile = null;

    }

Причина, по которой я прокомментировал раздел, придающий тайловым текстурам нулевое значение, заключается в том, что это по какой-то причине создало ошибку nullException, хотя я думал, что текстурные области будут переназначены текстурами при перезагрузке активности, поскольку перезагрузка активности вызывает метод loadgameresources()


person user3287039    schedule 24.07.2014    source источник
comment
Если после выхода из активности я войду в «активность настроек» и выйду из нее, спрайты не будут коробками. Возможно, эта информация может оказаться полезной?   -  person user3287039    schedule 25.07.2014
comment
Ребята, в значительной степени это только приостанавливает действие, а не уничтожает его, как мне заставить его уничтожить действие?   -  person user3287039    schedule 25.07.2014


Ответы (1)


Получил ответ, ребята. System.exit(code) обеспечивает правильный выход из действия. Разочарованное переполнение стека не смогло ответить на этот вопрос!

person user3287039    schedule 25.07.2014