我想在Android游戏中安装一个虚拟dpad,这样当你触摸前进按钮时,相机会向前和向后/向左/向右移动(但对于各自的方向)。我能够绘制纹理的立方体来表示地板,但现在我被困在绘制我的虚拟dpad。我的尝试是错误的方法是在我的绘图函数中有一个画布(我通常会绘制一个2d对象)和opengl调用。
@Override
public void onDrawFrame(GL10 gl) {
// TODO Auto-generated method stub
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
Canvas c = new Canvas();
c.drawBitmap(bitmap, 0, 0, new Paint());
gl.glLoadIdentity();
for(int i =0;i<91;i++)
{
myfloortiles[i].draw(gl);
}
}
位图是一个设置为实际值的png图像。 如何在前台绘制2d位图作为抬头显示器或按钮?我应该搜索什么?
答案 0 :(得分:2)
绘制3D场景后,您需要更改为正交投影(glOrtho
,如果是固定功能管道)并重置矩阵堆栈(glLoadIdentity( )
,如果是固定功能则重新设置)。 / p>
通过这样做,可以正确绘制3D场景,然后在其上绘制2D / Ortho HUD / GUI。