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); } } }
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); }
/// <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); }