Một TiledLayer là một lưới các ô chia ra từ 1 ảnh.
Ví dụ hình bên được chia thành 6 vùng, ta chỉ ra các Tiled có 32x32 pixel. Tạo nên 1 lớp TiledLayer, mỗi 1 tile này được đánh số (bắt đầu từ 1). Đánh số từ trái sang phải rồi từ trên xuống dưới
//Có số hàng, cột và ảnh cần chia. Độ rộng và cao của tile
//đặt tile vào bức ảnh ở vị trí col,row và lấy ảnh
có tileIndex (ở trên là từ 1,2,…6)
Giống như các Game khác, ta cũng gọi trực tiếp hàm paint() hay dùng LayerManager
layerManager.paint(g,0,0);
LayerManager layerManager;
TiledLayer tiledBackground;
tiledBackground = initBackground();
layerManager = new LayerManager();
layerManager.append(tiledBackground);
TiledLayer initBackground() throws Exception {
Image tileImages = Image.createImage("/tiles.png");
TiledLayer tiledLayer = new TiledLayer(8,9,tileImages,32,32);
int[] map = {
5, 1, 1, 4, 1, 1, 1, 1,
5, 1, 3, 1, 1, 3, 1, 1,
5, 1, 2, 1, 1, 2, 1, 1,
5, 1, 2, 3, 1, 2, 1, 1,
5, 1, 4, 2, 1, 2, 1, 1,
5, 1, 1, 4, 1, 2, 1, 1,
5, 1, 1, 1, 1, 4, 1, 1,
5, 1, 1, 1, 1, 1, 1, 1,
5, 1, 1, 1, 1, 1, 1, 1,
};
for (int i=0; i < map.length; i++) {
int column = i % 8;
int row = (i - column) / 8;
tiledLayer.setCell(column,row,map[i]);
}
return tiledLayer;
}