public void setState(States s, boolean stopSound) {
   if (stopSound) Game.res.stopAllSound();
   if (gs != null) gs.dispose();
   if (s == States.SPLASH) {
     gs = new SplashState(this);
   }
   if (s == States.TITLE) {
     gs = new TitleState(this);
   }
   if (s == States.CREDITS) {
     gs = new CreditState(this);
   }
   if (s == States.LEVELSELECT) {
     gs = new LevelSelectState(this);
   }
   if (s == States.PLAY) {
     gs = new PlayState(this);
   }
 }
 public void dispose() {
   gs.dispose();
 }
 public void resize(int width, int height) {
   gs.resize(width, height);
   view.update(width, height, true);
 }
 public void draw(float dt) {
   gs.draw(sb, sr, dt);
   if (Game.ANDROID && !(gs instanceof SplashState)) androidControlDraw();
 }
 public void update(float dt) {
   gs.update(dt);
 }
 public void handleInput() {
   if (Game.ANDROID) androidInput();
   gs.handleInput();
 }