我今天搜索了此问题,但找不到任何答案-有关将已解码的位图发送到另一个活动的信息。
原因:
好吧,在基于OpenGL ES的游戏中,我有一个开始屏幕,用户可以在其中输入设置/信息,也可以只启动游戏。我想在此处预加载沉重的图像资源,例如背景和纹理图集,以便在用户按下开始按钮时完成所有操作。
“活动”的架构是
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位于GameActivy中的布局xml文件中,因此它将自动实例化。