예제 #1
0
파일: Screen.cs 프로젝트: Sirozha84/SGen
 /// <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;
 }
예제 #2
0
파일: Screen.cs 프로젝트: Sirozha84/SGen
 /// <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;
 }