0

我需要使用 Java slick lib 创建一个固定大小的 2D 网格,例如 20x20。目前我有一个包含符号(文本)的数组 [][]。这些符号代表板上的不同瓷砖(正方形)。

我知道如何在屏幕上渲染/绘制单个图像,但不知道如何为网格做同样的事情(循环?对游戏来说不是太多渲染吗?)。我应该研究 spritesheets 的概念吗?

理想情况下,我想创造

  1. 平铺对象:tileXpos、tileYpos、大小、图像(基于类型)
  2. 网格对象:平铺瓷砖[ ][ ]

我不知道如何将其绘制/渲染到屏幕上。我也应该最初在下面的init方法中绘制它,并在游戏开始时在update方法中相应地重新绘制?

非常感谢您的指导。

import org.newdawn.slick.*;
import org.newdawn.slick.state.*;


public class GameplayState extends BasicGameState {

    public GameplayState(int stateId){

    }


    public void init(GameContainer container, StateBasedGame game)
            throws SlickException {
    }

    public void render(GameContainer container, StateBasedGame game, Graphics g)
            throws SlickException {
    }

    public void update(GameContainer container, StateBasedGame game, int delta)
            throws SlickException {
    }

    public int getID() {
        return 1;
    }
}
4

1 回答 1

0

我会使用 TileD: http: //www.mapeditor.org/

Slick2D 支持 Tiled 的 .tmx 文件。使用符号创建 20 x 20 平铺地图。您可以访问瓦片地图中的每个瓦片及其属性(位置、图层和其他在 Tiled 中定义的自定义属性)。而且,最好的是您不必渲染整个地图。您可以根据需要只渲染它的一部分。看看这里,在 Slick2D wiki 中:

http://slick.ninjacave.com/wiki/index.php?title=TileD_Import_and_Usage

您也可以在 javadoc 中查看它:http: //slick.ninjacave.com/javadoc/

说您是否需要有关代码的帮助。nn

于 2013-08-19T16:55:28.327 回答