示例#1
0
        private Texture GetTilesChunkTexture(DevicePanel d, int x, int y)
        {
            if (this.TileChunksTextures[y][x] != null)
            {
                return(this.TileChunksTextures[y][x]);
            }

            Rectangle rect = GetTilesChunkArea(x, y);

            using (Bitmap bmp = new Bitmap(rect.Width * TILE_SIZE, rect.Height * TILE_SIZE, System.Drawing.Imaging.PixelFormat.Format32bppArgb)) {
                using (Graphics g = Graphics.FromImage(bmp)) {
                    for (int ty = rect.Y; ty < rect.Y + rect.Height; ++ty)
                    {
                        for (int tx = rect.X; tx < rect.X + rect.Width; ++tx)
                        {
                            if (this.Layer.Tiles[ty][tx] != 0xffff)
                            {
                                DrawTile(g, Layer.Tiles[ty][tx], tx - rect.X, ty - rect.Y);
                            }
                        }
                    }
                }
                this.TileChunksTextures[y][x] = TextureCreator.FromBitmap(d._device, bmp);
            }
            return(this.TileChunksTextures[y][x]);
        }
示例#2
0
        public void InitDeviceResources()
        {
            sprite  = new Sprite(_device);
            sprite2 = new Sprite(_device);

            tx       = TextureCreator.FromBitmap(_device, txb);
            tcircle  = TextureCreator.FromBitmap(_device, tcircleb);
            tecircle = TextureCreator.FromBitmap(_device, tecircleb);
            hcursor  = TextureCreator.FromBitmap(_device, hcursorb);
            vcursor  = TextureCreator.FromBitmap(_device, vcursorb);
            hvcursor = TextureCreator.FromBitmap(_device, hvcursorb);

            FontDescription fontDescription = new FontDescription()
            {
                Height          = 18,
                Italic          = false,
                CharacterSet    = FontCharacterSet.Ansi,
                FaceName        = "Microsoft Sans Serif",
                MipLevels       = 0,
                OutputPrecision = FontPrecision.TrueType,
                PitchAndFamily  = FontPitchAndFamily.Default,
                Quality         = FontQuality.Antialiased,
                Weight          = FontWeight.Regular
            };

            FontDescription fontDescriptionBold = new FontDescription()
            {
                Height          = 18,
                Italic          = false,
                CharacterSet    = FontCharacterSet.Ansi,
                FaceName        = "Microsoft Sans Serif",
                MipLevels       = 0,
                OutputPrecision = FontPrecision.TrueType,
                PitchAndFamily  = FontPitchAndFamily.Default,
                Quality         = FontQuality.Antialiased,
                Weight          = FontWeight.Bold
            };

            font     = new Font(_device, fontDescription);
            fontBold = new Font(_device, fontDescriptionBold);
        }