저는 Minecraft (2D로)와 같은 게임을 만들려고합니다. 타일 맵을 사용하고 싶지 않다. 랜덤 맵을 생성하는 방법이 없다.Libgdx TiledMap없이 빠른 맵 만들기
내 시험 & 코드 :
public class game implements ApplicationListener {
private OrthographicCamera camera;
private SpriteBatch batch;
private Sprite block[] = new Sprite[26];
private int createdBlocks = 0;
private int line = 0;
@Override
public void create() {
float w = Gdx.graphics.getWidth();
float h = Gdx.graphics.getHeight();
camera = new OrthographicCamera(w, h);
batch = new SpriteBatch();
camera.position.x = 480;
camera.position.y = 320;
camera.update();
graphics.create();
player.create();
}
@Override
public void dispose() {
batch.dispose();
}
@Override
public void render() {
for(int i=0; i<=25;i++){
block[i] = new Sprite(graphics.stone);
if(i==5 || i==10 || i==15 || i==20)
line++;
int i2 = i;
if(i > 5)
i = 0;
block[i].setPosition(i2 * 32, line * 32);
}
Gdx.gl.glClearColor(1, 1, 1, 1);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
batch.setProjectionMatrix(camera.combined);
batch.begin();
player.render(batch);
for(int i=0; i<=100;i++)
block[i].draw(batch);
batch.end();
}
@Override
public void resize(int width, int height) {
}
@Override
public void pause() {
}
@Override
public void resume() {
}
}
의 단지 보온, 느린 (로드)되지는 유용합니다.
더 좋은 방법은 무엇입니까? 당신의 코드에 대한
렌더링 할 때마다 25 개의 새로운 Sprite (돌)를 다시 초기화합니다. 왜 그렇게 지연되는지와 관련이 있습니다. for 루프를 렌더링 메서드의 맨 위에있는 create 메서드로 옮깁니다. – grimrader22