2014-08-29 5 views
0

타일 3 개가 있으며 타일 맵으로 렌더링하려고합니다. 지금까지 내 코드 : 공공 무효타일링 된지도 깜박임 Java Libgdx - 타일링 된지도

render(float delta) { 

Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); 
game.batch.begin(); 
int w; 
w = 120; 

int h; 
h = 1080/16; 

int tileX = 0; 
int tileY = 0; 
Texture currentTile = null; 
for(int i=0; i<w; i++){ 
    for(int j=0; j<h; j++){ 

     switch(MathUtils.random(2)){ 

     case 0: 
      currentTile = grass; 
      tiles.add(grass); 
      break; 
     case 1: 
      currentTile = stone; 
      break; 
     case 2: 
      currentTile = dirt; 
      break; 
      } 
     game.batch.draw(currentTile, i*120, j*120); 

    } 
    } 

문제는 떨어져 타일 고급 렌더링 깜박 유지 모자입니다 - 그들은 끊임없이 내가 생각 다시 렌더링되고있다.

내가

game.batch.draw(currentTile, i*120, j*120); 
? 대신 currentTile의 둘 것 어떤 형식으로 배열
렌더링 :하지만 어떻게 내가 그렇게 PLS 방법을 보여 주면이, 2 차원 배열을 사용하는 유일한 방법입니다 중지 할 수 있습니다 그것이 어떻게 보일지 배열 설정

는이에 타일을 추가하고 제대로,을 배열을 구성하는 방법

Texture[] tiles = new Texture[1]; 
을? : 다른 세부 사항이 유용 할 것입니다.

답변

0

내 경험에 따르면 캔버스 영역에 아무 것도 표시되지 않으면 깜박 거리는 화면이 나타납니다. 타일을 그리기 시작하기 전에 화면을 채우는 색 (검정, 파랑, 무엇이든)으로/채우기를 작성하십시오. 여기에서 BG 항목, 타일, 플레이어/엔티티 등을 그립니다.

+0

를 트리거하도록 설정된들이 지속적으로 다시 렌더링되는 때문이 생성자

에서 그들을 미리 정의? – user3165683

+0

일반적으로 게임을 할 때마다 게임이 초당 30, 60 번 업데이트 될 때마다 모든 것이 그려집니다. 계속해서 화면을 업데이트하거나 이미지를 다시 그리지 않았다면 아무 것도 움직이지 않을 것입니다. 이 다른 튜토리얼 도움을 찾을 수 있습니다 : http://www.gamefromscratch.com/page/LibGDX-Tutorial-series.aspx이 같은 –

+0

당신이 당신의 타일을 그리기 전에 또한, 당신이해야 할 일 : 'Gdx.gl.glClearColor (0, 0, 0, 1); Gdx.gl.glClear (GL10.GL_COLOR_BUFFER_BIT); ' –

0

각 gameloop에서 타일에 새로운 임의 텍스처를 설정하면 1 초 안에 타일이 최대 60 배 (fps)까지 변경 될 수 있습니다. 초당

이 문제를 해결하려면 타일을 바꿀 수 있는지 여부를 결정해야합니다. 하지 -if

, 그들은 변경할 수 있습니다 - 경우, 시간 제한 이벤트 및/또는 행동이 그것을 그것은 여전히 ​​깜박

+0

유용합니다. 처음로드되면 변경되지 않으므로 미리 정의 할 수 있습니까? – user3165683

+0

더 많은 코드를 제공해 주시겠습니까? (주로 클래스/폴더 구조가 있으면 필요합니다) 그래서 상황에 맞는 예제를 만들 수 있습니다. – dwana

+0

Surre 무엇에 관심이 있습니까? – user3165683