2015-07-28 5 views
1

я использовал этот учебник, чтобы сделать изометрическую карту от нормальных спрайтов: http://www.badlogicgames.com/wordpress/?p=2032Как визуализировать спрайты обычно на вращающихся изометрических плитах? LIBGDX

Я хочу, чтобы сделать дом на вершине моей напольной плитки в положении 0,0, но это выглядит примерно так: http://gyazo.com/c7d5cd74829150c684cfa7b40c9fdfba

Вот мое создание() и визуализации():

@Override 
public void create() { 
    batch = new SpriteBatch(); 
    img = new Texture(Gdx.files.internal("grass2d.jpg")); 

    //House 
    house = new Sprite(new Texture(Gdx.files.internal("mb_0004.png"))); 
    house.setSize(2,2); 
    house.setPosition(0,0); 


    // Camera 
    cam = new OrthographicCamera(10,10*(Gdx.graphics.getHeight()/(float)Gdx.graphics.getWidth())); 
    cam.position.set(5,5,10); 
    cam.direction.set(-1,-1,-1); 
    cam.near = 1; 
    cam.far = 100; 
    //Matrices 
    //Matrix to rotate floor tiles 
    matrix.setToRotation(new Vector3(1,0,0), 90); 
    // Subject to change? 
    matrix2.setToRotation(new Vector3(0,1,0),45); 

    // populate Tiles 
    for(int z = 0; z < 100; z++) { 
     for(int x = 0; x < 100; x++) { 
      sprites[x][z] = new Sprite(img); 
      sprites[x][z].setPosition(x,z); 
      sprites[x][z].setSize(1, 1); 
     } 
    } 




    Gdx.input.setInputProcessor(this); 

} 


@Override 
public void render() { 
    Gdx.gl.glClearColor(0, 0, 0, 1); 
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); 
    cam.update(); 
    batch.setProjectionMatrix(cam.combined); 
    batch.setTransformMatrix(matrix); 

    batch.begin(); 
    for(int z = 0; z < 100; z++) { 
     for(int x = 0; x < 100; x++) { 
      sprites[x][z].draw(batch); 
     } 
    } 

    batch.end(); 
    batch.begin(); 



    //batch.setTransformMatrix(matrix2); 
    house.draw(batch); 
    batch.end(); 

Я попытался создать другую матрицу, чтобы преобразовать его обратно, но тогда мои координаты перепутались. Надеюсь, вы, ребята, можете помочь.

ответ

-1

Я смог сделать это с помощью TiledMap, и был записан самозаписываемый алгоритм, чтобы определить, есть ли плитка или нет плитки, и какой из них. Я могу сейчас поместить мой дом с помощью мыши и очень люблю результат.

Если кому-то интересно, я займу некоторое время, чтобы написать небольшой учебник.

Вот как это выглядит на данный момент: Isometric Tiles

 Смежные вопросы

  • Нет связанных вопросов^_^