【问题标题】:Creating a 2D grid for a board game in Java using Slick2D使用 Slick2D 在 Java 中为棋盘游戏创建 2D 网格
【发布时间】:2013-08-12 23:05:16
【问题描述】:

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

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

理想情况下,我想创建

  1. Tile 对象:tileXpos、tileYpos、大小、图像(基于类型)
  2. 网格对象:平铺图块[ ][ ]​​i>

我不知道如何将它绘制/渲染到屏幕上。我也应该最初在下面的 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;
    }
}

【问题讨论】:

    标签: java image grid rendering slick2d


    【解决方案1】:

    我会使用 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/

    如果您需要代码方面的帮助,请说出来。 n.n

    【讨论】:

      猜你喜欢
      • 2014-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-19
      • 1970-01-01
      • 2010-11-27
      • 1970-01-01
      相关资源
      最近更新 更多