public Obstacle(int x, int y, Vector2 size, Vector2 mapSize, Animation animation, SpriteSheet ss, Vector2 scale, bool solid, GraphicsContext g) : base((int)(g.Screen.Width / 2 - mapSize.X / 2 + x), (int)(y + 24 * scale.Y), (int)(size.X), (int)(size.Y), animation) { //this.position.x = this.position.x - 8 * scale; //this.position.y = this.position.y + 24 * scale; this.solid = solid; ss = new SpriteSheet(ss.getImage().Resize(new ImageSize((int)(ss.getWidth() * scale.X), (int)(ss.getHeight() * scale.Y)))); Sprite[] obstacle = { ss.obtenerSprite((int)(2 * size.X), 0, (int)(size.X), (int)(size.Y), g) }; a1 = new Animation(obstacle, 1, Animation.Direction.DOWN); Sprite[] explosion = { ss.obtenerSprite((int)(size.X * 7), (int)(size.Y), (int)(size.X), (int)(size.Y), g), ss.obtenerSprite((int)(size.X * 8), (int)(size.Y), (int)(size.X), (int)(size.Y), g), ss.obtenerSprite((int)(size.X * 9), (int)(size.Y), (int)(size.X), (int)(size.Y), g), ss.obtenerSprite((int)(size.X * 10), (int)(size.Y), (int)(size.X), (int)(size.Y), g), ss.obtenerSprite((int)(size.X * 11), (int)(size.Y), (int)(size.X), (int)(size.Y), g), ss.obtenerSprite((int)(size.X * 12), (int)(size.Y), (int)(size.X), (int)(size.Y), g), ss.obtenerSprite((int)(size.X * 13), (int)(size.Y), (int)(size.X), (int)(size.Y), g) }; a2 = new Animation(explosion, 6, Animation.Direction.DOWN); Sprite[] blink = { ss.obtenerSprite((int)(2 * size.X), 0, (int)(size.X), (int)(size.Y), g), ss.obtenerSprite((int)(size.X * 7), (int)(size.Y), (int)(size.X), (int)(size.Y), g) }; a3 = new Animation(blink, 20, Animation.Direction.DOWN); this.animation = a1; }
public void loadTiles(SpriteSheet s) { try { tileset = s; int numTilesAcross = (tileset.getWidth() + 1) / tileSize; tiles = new Tile[2, numTilesAcross]; Image subimage; for (int col = 0; col < numTilesAcross; col++) { subimage = tileset.obtenerSprite(col * tileSize, 0, tileSize, tileSize); tiles[0, col] = new Tile(subimage, false); subimage = tileset.obtenerSprite(col * tileSize, tileSize, tileSize, tileSize); tiles[1, col] = new Tile(subimage, true); } } catch (Exception e) { Console.Error.WriteLine(e.Message); } }
private void loadTiles() { try { int numTilesAcross = (tileset.getWidth() + 1) / TILE_SIZE; font = new Sprite[2, numTilesAcross]; shad = new Sprite[2, numTilesAcross]; Image subimage, shadowImage; Sprite aux; for (int col = 0; col < numTilesAcross; col++) { subimage = tileset.obtenerSprite(col * TILE_SIZE, 0, TILE_SIZE, TILE_SIZE); aux = ImageToSprite(subimage.Resize(new ImageSize((int)(subimage.Size.Width * scale.X), (int)(subimage.Size.Height * scale.Y))), g); aux.SetColor(color); font[0, col] = aux; subimage = tileset.obtenerSprite(col * TILE_SIZE, TILE_SIZE, TILE_SIZE, TILE_SIZE); aux = ImageToSprite(subimage.Resize(new ImageSize((int)(subimage.Size.Width * scale.X), (int)(subimage.Size.Height * scale.Y))), g); aux.SetColor(color); font[1, col] = aux; if (shadows) { shadowImage = tileset.obtenerSprite(col * TILE_SIZE, 0, TILE_SIZE, TILE_SIZE); aux = ImageToSprite(shadowImage.Resize(new ImageSize((int)(shadowImage.Size.Width * scale.X), (int)(shadowImage.Size.Height * scale.Y))), g); aux.SetColor(new Vector4(0, 0, 0, 255)); shad[0, col] = aux; shadowImage = tileset.obtenerSprite(col * TILE_SIZE, TILE_SIZE, TILE_SIZE, TILE_SIZE); aux = ImageToSprite(shadowImage.Resize(new ImageSize((int)(shadowImage.Size.Width * scale.X), (int)(shadowImage.Size.Height * scale.Y))), g); aux.SetColor(new Vector4(0, 0, 0, 255)); shad[1, col] = aux; } } } catch (Exception e) { Console.Error.WriteLine(e.Message); } }