2011-09-04 4 views
0

전진 버튼을 터치하면 카메라가 앞으로 및 뒤로/왼쪽/오른쪽으로 움직일 수 있도록 Android 게임에서 가상 dpad를 만들고 싶습니다. (하지만 각각의 방향에 대해). 바닥을 나타 내기 위해 텍스처 큐브를 그릴 수 있지만 이제는 가상의 dpad를 그려야합니다. 이 작업을 수행하는 잘못된 방법입니다 내 시도 캔버스 (어떻게 정상적으로 2d 개체를 그릴 것입니다) 및 opengl 호출 내 그리기 기능입니다.동시에 2 차원 비트 맵과 3D 모델 그리기

@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 이미지입니다. 포드 그라운드에서 2 차원 비트 맵을 그려서 디스플레이 또는 버튼을 위로 움직이는 방법은 무엇입니까? 무엇을 검색해야합니까?

답변

2

3D 장면을 그린 후에는 직교 투영 (고정 기능 파이프 라인 인 경우 glOrtho)으로 변경하고 매트릭스 스택을 다시 설정해야합니다 (고정 기능인 경우 다시 glLoadIdentity()).

이렇게하면 3D 장면이 제대로 그려지고 2D/Ortho HUD/GUI가 그려집니다.

glLoadIdentity

+1

glOrtho

당신이 직교 투영을 설정할 때 GL_PROJECTION하는 glMatrixMode 변경에 대한 잊지 마세요. –

관련 문제