Пример #1
0
        void Recenter(int x, int y)
        {
            topleft_x = (int)(x - Bounds.Width / 2);
            topleft_y = (int)(y - Bounds.Height / 2);

            ClipTopLeft();

            SpriteManager.SetUpperLeft(topleft_x, topleft_y);
            mapRenderer.SetUpperLeft(topleft_x, topleft_y);

            UpdateCursor();


//			Painter.Invalidate (new Rectangle (new Point (0,0),
//							   new Size (Painter.SCREEN_RES_X, Painter.SCREEN_RES_Y)));
        }
Пример #2
0
        public void ScrollTick(object sender, TickEventArgs e)
        {
            scroll_elapsed += (int)e.MillisecondsElapsed;

            if (scroll_elapsed < 6 /*XXX*/)
            {
                return;
            }

            scroll_elapsed = 0;

            if (horiz_delta == 0 && vert_delta == 0)
            {
                return;
            }

            int old_topleft_x = topleft_x;
            int old_topleft_y = topleft_y;

            topleft_x += horiz_delta;
            topleft_y += vert_delta;

            ClipTopLeft();

            if (old_topleft_x == topleft_x &&
                old_topleft_y == topleft_y)
            {
                return;
            }

            SpriteManager.SetUpperLeft(topleft_x, topleft_y);
            mapRenderer.SetUpperLeft(topleft_x, topleft_y);

            UpdateCursor();

#if notyet
            Painter.Invalidate(new Rectangle(new Point(0, 0),
                                             new Size(Painter.SCREEN_RES_X, 375)));
#endif
        }