在进行2d游戏制作的时候,通常都会绘制瓦片地图,所谓的瓦片地图,实际上就是一小块一小块的图片绘制成一张大地图,这篇文章就简单介绍一下瓦片地图绘制的思路
地图元素
地图元素存储了待绘制的图片,以及图片的长宽信息。
@Data
@NoArgsConstructor
@AllArgsConstructor
// 瓦片地图上的瓦片
public class MapComponent {
// 长度和宽度
private int height;
private int width;
// 图片
private Image image;
public MapComponent(String image, int height, int widht){
Image img = new Image(image, widht, height, true, true);
this.image = img;
this.width = widht;
this.height = height;
}
}
地图绘制类
地图绘制类主要接收地图信息,并且将相应的图片绘制到画布上
// 地图画家,负责绘制地图
public class MapDrawer {
// 一个二维数组,表示要绘制的地图
private int[][] map;
// 每个数字对应的地块
private Map<Integer, MapComponent> tilemap;
// 传入绘制的对象
private Canvas canvas;
private GraphicsContext gc;
public MapD