getTileImageSprite method
获取瓦片精灵的某个瓦片
Implementation
Future<DFImageSprite> getTileImageSprite(DFTileSet tileSet, int tileIndex, int row, int column, double scale) async {
///print("index:" + index.toString());
List<DFTile>? tiles = tileSet.tiles;
String imagePath = this.imagePath + "/";
double tileWidth = tileSet.tileWidth!.toDouble();
double tileHeight = tileSet.tileHeight!.toDouble();
double imageWidth = 0;
double imageHeight = 0;
if (tiles != null) {
DFTile tile = tiles[tileIndex];
imageWidth = tile.imageWidth!.toDouble();
imageHeight = tile.imageHeight!.toDouble();
imagePath = this.imagePath + "/" + tile.image!;
/// print(imagePath);
} else {
imageWidth = tileSet.imageWidth!.toDouble();
imageHeight = tileSet.imageHeight!.toDouble();
imagePath = this.imagePath + "/" + tileSet.image!;
}
/// Image创建
ui.Image image = await DFAssetsLoader.loadImage(imagePath);
DFImageSprite sprite = DFImageSprite(
image,
rect: DFRect(0, 0, imageWidth, imageHeight),
rotated: false,
);
sprite.scale = scale;
sprite.position = DFPosition(
column * tileWidth * scale + tileWidth / 2 * scale, row * tileHeight * scale + tileHeight / 2 * scale);
sprite.key = row.toString() + "," + column.toString();
return sprite;
}