Example #1
0
        public void drawTiles(FTile[,] tiles, int size_x, int size_y, LinkedList<FTexture2D> sprites)
        {
            int start_x, start_y, end_x, end_y;
            if (tile_offset_x < 0)
                start_x = 0;
            else if (tile_offset_x > size_x)
                return;
            else
                start_x = (int)Math.Floor(tile_offset_x);

            if (tile_offset_y < 0)
                start_y = 0;
            else if (tile_offset_y > size_y)
                return;
            else
                start_y = (int)Math.Floor(tile_offset_y);

            if (tile_offset_x + tile_width > size_x)
                end_x = size_x;
            else if (tile_offset_x + tile_width < 0)
                return;
            else
                end_x = (int)Math.Ceiling(tile_offset_x + tile_width);

            if (tile_offset_y + tile_height > size_y)
                end_y = size_y;
            else if (tile_offset_y + tile_height < 0)
                return;
            else
                end_y = (int)Math.Ceiling(tile_offset_y + tile_height);

            Vector2 pos = new Vector2(100, 100);
            Vector2 scale = new Vector2(1, 1);
            for (int x = start_x; x < end_x; x++)
            {
                for (int y = start_y; y < end_y; y++)
                {
                    spriteBatch.Begin();
                    pos.X = pix_x + (x * (float)pix_per_tile_width) - (float)tile_offset_x * (float)pix_per_tile_width;
                    pos.Y = pix_y + (y * (float)pix_per_tile_height) - (float)tile_offset_y * (float)pix_per_tile_height;
                    scale.X = (float)pix_per_tile_width / 64;
                    scale.Y = (float)pix_per_tile_height / 64;
                    spriteBatch.Draw(sprites.ElementAt(tiles[x, y].getSpriteIndex()).texture, pos, null, Color.White, 0f, Vector2.Zero, scale, SpriteEffects.None, 0f);
                    spriteBatch.End();
                }
            }
        }
Example #2
0
        public FMap(int _tile_width, int _tile_height)
        {
            tile_width = _tile_width;
            tile_height = _tile_height;
            mapTiles = new FTile[tile_width, tile_height];
            for (int x = 0; x < tile_width; x++)
            {
                for (int y = 0; y < tile_height; y++)
                {
                    mapTiles[x, y] = new FTile(0, true);
                }

            }

            mapTiles[10, 10].setTraversable(false);
            mapTiles[10, 10].setSpriteIndex(1);
            mapTiles[11, 10].setTraversable(false);
            mapTiles[11, 10].setSpriteIndex(1);
            mapTiles[12, 10].setTraversable(false);
            mapTiles[12, 10].setSpriteIndex(1);

            tileTextures = new LinkedList<Texture2D>();
            tileEffects = new LinkedList<FTileEffect>();
        }
Example #3
0
        public void createTestBits()
        {
            current_map = new FMap(20, 20);
            player_one.texture_index = 0;
            player_one.max_hit_points = 50;
            player_one.hit_points = 50;

            sprites.AddLast(new FTexture2D(Content.Load<Texture2D>("grass"), 64, 64, 0, 0));
            sprites.AddLast(new FTexture2D(Content.Load<Texture2D>("darkwood"), 64, 64, 0, 0));
            sprites.AddLast(new FTexture2D(Content.Load<Texture2D>("wood"), 64, 64, 0, 0));
            sprites.AddLast(new FTexture2D(Content.Load<Texture2D>("dirt"), 64, 64, 0, 0));
            sprites.AddLast(new FTexture2D(Content.Load<Texture2D>("invstone"), 64, 64, 0, 0));
            sprites.AddLast(new FTexture2D(Content.Load<Texture2D>("ItemCase"), 64, 64, 0, 0));
            sprites.AddLast(new FTexture2D(Content.Load<Texture2D>("Item_fireflask"), 64, 64, 0, 0));
            sprites.AddLast(new FTexture2D(Content.Load<Texture2D>("Item_frostflask"), 64, 64, 0, 0));
            sprites.AddLast(new FTexture2D(Content.Load<Texture2D>("frost_effect"), 64, 64, 0, 0));
            sprites.AddLast(new FTexture2D(Content.Load<Texture2D>("healthbottle_back"), 128, 192, 0, 0));
            sprites.AddLast(new FTexture2D(Content.Load<Texture2D>("healthbottle_front"), 128, 192, 0, 0));
            sprites.AddLast(new FTexture2D(Content.Load<Texture2D>("healthbottle_liquid"), 128, 192, 0, 0));
            sprites.AddLast(new FTexture2D(Content.Load<Texture2D>("tree"), 128, 192, 0, 0));

            inv_camera = new FCamera(spriteBatch, 0, graphics.GraphicsDevice.Viewport.Height / 12 * 9, graphics.GraphicsDevice.Viewport.Width, graphics.GraphicsDevice.Viewport.Height / 12 * 3, 16, 3);
            inv_tiles = new FTile[16, 3];
            for (int x = 0; x < 16; x++)
            {
                for(int y = 0; y < 3; y++)
                {
                    inv_tiles[x, y] = new FTile(2, false);
                }
            }
            inv_tiles[9, 1].setSpriteIndex(5);
            inv_tiles[11, 1].setSpriteIndex(5);
            inv_tiles[10, 0].setSpriteIndex(5);
            inv_tiles[10, 2].setSpriteIndex(5);

            inventory = new FInventory(player_one);
            inventory.bag[0] = new FItem(6);
            inventory.bag[1] = new FItem(7);
            inventory.bag_item_selected = 0;
            inventory.setSlot(0) ;
            inventory.bag_item_selected = 1;
            inventory.setSlot(1);
        }