【发布时间】:2015-03-17 13:14:57
【问题描述】:
我正在为 android 制作一个破砖游戏并尝试更改背景图像。在游戏第一次运行时,这 100% 的时间都有效。
mBackgroundImage = BitmapFactory.decodeResource
(gameView.getContext().getResources(),
R.drawable.planet3);
planet3 位于 res/drawable 文件夹中。
如果我返回上一个屏幕并开始新游戏,大约 90% 的时间我都会获得 NPE。如果我使用与我正在处理的框架一起提供的资源,该资源与“planet3”位于同一文件夹中,奇怪的是,无论它是新游戏还是第一个游戏等,它都能 100% 工作。
为什么有时会发生这种情况,而有时却不会。我通常发现它确实起作用是因为我正在调试它并逐行执行,但这可能只是巧合。
我现在的代码如下,TheGame是当前运行游戏的线程,我上面粘贴的代码在this的构造函数中,即I.E.每次制作新游戏时,都要设置背景。您还可以查看左侧的文件结构,以验证文件“background”是否与“planet3”位于同一文件夹中:
就错误而言,我没有实际的错误消息,因为它只是说 MOOC 已停止工作,然后重新启动程序。
【问题讨论】:
标签: java android bitmap resources