기술/beginning games2011. 6. 2. 11:22
download download
public interface Game {
public Input getInput(); 
public FileIO getFileIO(); 
public Graphics getGraphics(); 
public Audio getAudio(); 
public void setScreen(Screen screen); 
public Screen getCurrentScreen(); 
public Screen getStartScreen(); 
}




public abstract class Screen {
protected final Game game;
public Screen(Game game) {
this.game = game;
}
public abstract void update(float deltaTime);
public abstract void present(float deltaTime); 
public abstract void pause(); 
public abstract void resume(); 
public abstract void dispose(); 
}



public class Pool<T> {   // Garbage Collector를 사용함
public interface PoolObjectFactory<T>{
public T createObject();
}
private final List<T> freeObjects; 
private final PoolObjectFactory<T> factory; 
private final int maxSize;
public Pool(PoolObjectFactory<T> factory, int maxSize) {
this.factory = factory;
this.maxSize = maxSize;
this.freeObjects = new ArrayList<T>(maxSize); 
}
public T newObject() {
T object = null;
if (freeObjects.size() == 0)
object = factory.createObject(); 
else
object = freeObjects.remove(freeObjects.size() - 1); 
return object;
}
public void free(T object) {
if (freeObjects.size() < maxSize)
freeObjects.add(object); 
}
}
 
download download download
Posted by yachtie_leo