/// <summaru> /// Конструктор экрана, с указанными размерами. /// Делается после загрузки карты (устанавливаются границы для движения камеры). /// </summary> /// <param name = "x">Координата X</param> /// <param name = "y">Координата Y</param> /// <param name = "width">Ширина видимого экрана</param> /// <param name = "height">Высота видимого экрана</param> public Screen(Box trackingObject, int x, int y, int width, int height) { TrackingObject = trackingObject; RightMapPixelPixel = World.Width * TileSize - 1; BottomMapPixel = World.Height * TileSize - 1; RightLimit = World.Width * TileSize - width; BottomLimit = World.Height * TileSize - height; CameraCenter.X = width / 2; CameraCenter.Y = height / 2; viewport = new Viewport(x, y, width, height); BackShiftX = width / 2 - Width / 2; BackShiftY = height / 2 - Height / 2; PhantomColor = 255; CameraReal.X = trackingObject.Center().X - CameraCenter.X; CameraReal.Y = trackingObject.Center().Y - CameraCenter.Y; Camera = CameraReal; }
/// <summaru> /// Конструктор экрана. Размеры устанавливаются на весь экран. /// Делается после загрузки карты (устанавливаются границы для движения камеры). /// </summary> public Screen(Box trackingObject) { TrackingObject = trackingObject; RightMapPixelPixel = World.Width * TileSize - 1; BottomMapPixel = World.Height * TileSize - 1; RightLimit = World.Width * TileSize - Width; BottomLimit = World.Height * TileSize - Height; CameraCenter.X = Width / 2; CameraCenter.Y = Height / 2; viewport = new Viewport(0, 0, Width, Height); BackShiftX = 0; BackShiftY = 0; PhantomColor = 255; CameraReal.X = trackingObject.Center().X - CameraCenter.X; CameraReal.Y = trackingObject.Center().Y - CameraCenter.Y; Camera = CameraReal; }