我需要为我的一个项目创建一款游戏。该游戏不是图形游戏,但我仍然希望它有漂亮的外观(也许是 3D 背景外观)。 我想我应该使用一种不同的技术,而不仅仅是通过 xml 文件加载背景。我想创建一个具有漂亮纹理背景的表面 View (我想要的是类似于动态壁纸的背景)。我知道有 rendererscript,但我显然它在 api 级别低于 11 时不起作用???我想定位 API 级别 7 或 8。
这是我计划做的事情:
mView = new BasicGLSurfaceView(getApplication());
View inflatedView=View.inflate(this, R.layout.title, null);
View inflatedView2=View.inflate(this, R.layout.buttons, null);
setContentView(mView);
this.getWindow().addContentView(inflatedView,
new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT));
this.getWindow().addContentView(inflatedView2,
new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT));
我想知道哪种方式最好: 使用打开的 GLSurfaceView 或普通的 SurfaceView 和 Canvas。哪一个更快并且看起来更好? 您能否建议我实现最佳解决方案?
谢谢
最佳答案
Canvas 更简单,速度也更快,但不支持 3D 绘图。既然您说您可能想做 3D,那么您会想使用 GLSurfaceView 和 OGLES。对于 2D 绘图,Canvas 的性能通常优于 OpenGL。
关于Android SurfaceView 与 GLSurfaceView 的壁纸风格背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9431774/