Передача уже декодированных / масштабированных растровых изображений между операциями - PullRequest
0 голосов
/ 02 октября 2018

Я искал эту проблему сегодня и не могу найти никакого ответа - она ​​касается отправки уже декодированного растрового изображения в другое действие.

Причина:

Что ж, в моей игре на основе OpenGL ES у меня есть стартовый экран, где пользователь может либо ввести настройки / информацию, либо просто запустить игру.Я хочу предварительно загрузить тяжелые ресурсы изображений, такие как фоны и текстурные атласы, чтобы все было сделано, когда пользователь нажимает кнопку пуска.

Архитектура Activity имеет вид

StartGameActivity (здесь пользовательможет начать игру)

с помощью намеренных звонков

GameActivity

GameActivity запускает OpenGLview

код:

public class StartMenuActivity extends AppCompatActivity {

private Intent startGameActivityIntent;
private Bitmap[] bitmaps;
private byte[] byteArray;
private ResourceLoader resourceLoader;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_start_menu);

    resourceLoader = new ResourceLoader(this);
    preLoadResources();
}

public void onClickStartGame(View view) {


    startGameActivityIntent = new Intent(this, GameActivity.class);

    startActivity(startGameActivityIntent);

}

private void preLoadResources() {

    float width = getResources().getDisplayMetrics().widthPixels;
    float height = getResources().getDisplayMetrics().heightPixels;
    float[][] bitmapDimens = { {width, height} };
    String[] bitmapNames = {"level_map"};
    bitmaps = resourceLoader.createBitmaps(bitmapDimens, bitmapNames, "drawable");

}

}

Итак, я загружаю изображения здесь, но не могу передать их в GameActivity.Поскольку GLView находится в XML-файле макета в GameActivy, он будет автоматически создан.

...