Mercurial > nagslang
changeset 127:fe1f0bb4ecf0
Handle case of display larger than the level better
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Mon, 02 Sep 2013 17:22:42 +0200 |
parents | c3af35561494 |
children | fbb073720bac |
files | nagslang/screens/area.py |
diffstat | 1 files changed, 7 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/nagslang/screens/area.py Mon Sep 02 17:09:47 2013 +0200 +++ b/nagslang/screens/area.py Mon Sep 02 17:22:42 2013 +0200 @@ -115,16 +115,20 @@ level_size = level_surface.get_size() display_size = display_surface.get_size() protagnist_pos = self.protagonist.physicser.get_render_position( - level_surface) + level_surface) x_wide = display_size[0] // 2 y_wide = display_size[1] // 2 - if protagnist_pos[0] < x_wide: + if display_size[0] > level_size[0]: + x = -(display_size[0] - level_size[0]) // 2 + elif protagnist_pos[0] < x_wide: x = 0 elif protagnist_pos[0] > level_size[0] - x_wide: x = level_size[0] - display_size[0] else: x = protagnist_pos[0] - x_wide - if protagnist_pos[1] < y_wide: + if display_size[1] > level_size[1]: + y = -(display_size[1] - level_size[1]) // 2 + elif protagnist_pos[1] < y_wide: y = 0 elif protagnist_pos[1] > level_size[1] - y_wide: y = level_size[1] - display_size[1]