Пример #1
0
        public override void Draw(RenderManager renderMgr, Camera camera)
        {
            int xStart = (int)((camera.Center.X - camera.Size.X * 0.5f) / TileWidth);
            int xEnd = (int)(1 + (camera.Center.X + camera.Size.X * 0.5f) / TileWidth);

            var yStart = (int)((camera.Center.Y - camera.Size.Y * 0.5f) / TileHeight);
            var yEnd = (int)(1 + (camera.Center.Y + camera.Size.Y * 0.5f) / TileHeight); ;

            if (xStart < 0)
                xStart = 0;
            if (xEnd > MapWidth - 1)
                xEnd = MapWidth - 1;
            if (yStart < 0)
                yStart = 0;
            if (yEnd > MapHeight - 1)
                yEnd = MapHeight - 1;

            for (var i = xStart; i < xEnd; i++)
            {
                for (var j = yStart; j < yEnd; j++)
                {
                    if (Tiles[i, j].Texture == null)
                        continue;

                    var position = new Vector2f(
                                    TileWidth * i + TileWidth * 0.5f,
                                    TileHeight * j + TileHeight * 0.5f);

                    renderMgr.DrawSprite(Tiles[i, j].Texture, Tiles[i, j].SubImageRect, position + WorldPosition, TileWidth, TileHeight, false, false, Tint, ZIndex);

                }
            }
        }
Пример #2
0
        public void Draw(RenderManager renderMgr)
        {
            IntRect subImageRect = new IntRect(0, 0, (int) texture.Size.X, (int) texture.Size.Y);
            Vector2f centerPos = new Vector2f(box.Left + box.Width * 0.5f, box.Top + box.Height * 0.5f);

            renderMgr.DrawSprite(texture, subImageRect, centerPos, box.Width, box.Height, false, false, new Color(255, 255, 255, 255), 10000);
        }
 public override void Draw(RenderManager renderMgr, Camera camera)
 {
     renderMgr.DrawSprite(
         CurrentSprite.Texture,
         CurrentSprite.SubImageRect,
         WorldPosition,
         WorldWidth,
         WorldHeight,
         FlipX,
         FlipY,
         Tint, ZIndex);
 }
Пример #4
0
 /// <summary>
 /// Draws the animation.
 /// </summary>
 public void Draw(RenderManager renderMgr, 
                         Vector2f centerPos,
                         float viewWidth,
                         float viewHeight,
                         bool flipX,
                         bool flipY,
                         Color tint,
                         int zIndex)
 {
     renderMgr.DrawSprite(Frames[CurrentFrame].Texture, Frames[CurrentFrame].SubImageRect,
         centerPos, viewWidth, viewHeight, flipX, flipY, tint, zIndex);
 }
 /// <summary>
 /// Draw it.
 /// </summary>
 /// <param name="renderMgr"></param>
 /// <param name="camera"></param>
 public override void Draw(RenderManager renderMgr, Camera camera)
 {
     //add camera position to where we want to draw on the screen, and let the view transform just subtract it back off
     renderMgr.DrawSprite(Texture, SubImageRect, (WorldPosition - camera.Center) * ParallaxFactor + camera.Center,
         WorldWidth, WorldHeight, FlipX, FlipY, Tint, ZIndex);
 }