00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 package org.classroomgaming.cgp;
00021
00022 import org.classroomgaming.cgp.Camera;
00023
00030 public class CameraManager {
00031
00032 private static final CameraManager mgr = new CameraManager();
00033 private static Camera activeCamera;
00034 private int mapW;
00035 private int mapH;
00036
00037 public void setMapDimensions(int w, int h) {
00038 mapW = w;
00039 mapH = h;
00040 }
00041
00042 public int getScreenX(int x) {
00043 return (x - Math.round(activeCamera.getX()) + mapW / 2) * 32;
00044 }
00045
00046 public int getScreenY(int y) {
00047 return (y - Math.round(activeCamera.getY()) + mapH / 2) * 32;
00048 }
00049
00052 public static CameraManager getInstance() {
00053 return mgr;
00054 }
00055
00056 private CameraManager() {
00057 activeCamera = new Camera(0, 0);
00058 }
00059
00060 public Camera getActiveCamera() {
00061 return activeCamera;
00062 }
00063 }