public void DrawTile(SurfaceTileSheet surface, int tileNumber, int xScreen, int yScreen, bool isHorizontalFlipped = false, bool isVerticalFlipped = false) { var rows = tileNumber / surface.TileSheetWidth; var columns = tileNumber - (rows * surface.TileSheetWidth); var ySprite = rows * surface.TileHeight; var xSprite = columns * surface.TileWidth; this.DrawSprite(surface, xScreen, yScreen, isHorizontalFlipped, isVerticalFlipped, xSprite, ySprite, surface.TileWidth, surface.TileHeight); }
public SurfaceTileSheet CreateTileSheet(AssetTileSheet asset) { var tileSheet = new SurfaceTileSheet(); var address = ReserveEmptySprite(tileSheet, asset.Name, asset.Width, asset.Height); tileSheet.Initialize(this.Pixels, address, asset.Width, asset.Height, asset.TileWidth, asset.TileHeight); // Copier les pixels de Asset et les mettre à l'address reservé this.Copy(asset.Pixels, 0, 0, tileSheet.Address); return(tileSheet); }
public void Create(string name, int mapWidth, int mapHeight, SurfaceTileSheet surfaceTileSheet, MapTileDescriptor defaultTile) { this.Name = name; this.MapWidth = mapWidth; this.MapHeight = mapHeight; this.Tiles = new MapTileDescriptor[mapWidth * mapHeight]; this.TileSheet = surfaceTileSheet; this.Width = mapWidth * surfaceTileSheet.TileWidth; this.Height = mapHeight * surfaceTileSheet.TileHeight; this.Clear(defaultTile); }
public void Initialize(string name, MapTileDescriptor[] tiles, int mapWidth, int mapHeight, SurfaceTileSheet surfaceTileSheet) { if (tiles.Length != mapWidth * mapHeight) { throw new Exception("The size of the tiles must be equal mapWidth * mapHeight!"); } this.Name = name; this.TileSheet = surfaceTileSheet; this.Tiles = tiles; this.MapWidth = mapWidth; this.MapHeight = mapHeight; }
public void Create(AssetMap map, VideoMemory videoMemory) { var surfaceTileSheet = videoMemory.GetSprite <SurfaceTileSheet>(map.AssetTileSheetName); this.Name = map.Name; this.MapWidth = map.MapWidth; this.MapHeight = map.MapHeight; this.Tiles = new MapTileDescriptor[map.MapWidth * map.MapHeight]; for (int index = 0; index < this.Tiles.Length; index++) { this.Tiles[index] = map.Tiles[index]; } this.TileSheet = surfaceTileSheet; this.Width = map.MapWidth * surfaceTileSheet.TileWidth; this.Height = map.MapHeight * surfaceTileSheet.TileHeight; }
/// <summary> /// Constructeur /// </summary> /// <param name="frameCount"></param> /// <param name="relativeX"></param> /// <param name="relativeY"></param> public TileAnimationFrame(SurfaceTileSheet tiles, int tileNumber, int frameCount, bool isHorizontalFlipped = false, bool isVerticalFlipped = false, int relativeX = 0, int relativeY = 0) : base(frameCount, isHorizontalFlipped, isVerticalFlipped, relativeX, relativeY) { this.TileNumber = tileNumber; this.Tiles = tiles; }
public void Create(string name, int mapWidth, int mapHeight, SurfaceTileSheet surfaceTileSheet) { this.Create(name, mapWidth, mapHeight, surfaceTileSheet, MapTileDescriptor.TileZero); }