Package org.newdawn.slick.tests.states

Source Code of org.newdawn.slick.tests.states.TestState3

package org.newdawn.slick.tests.states;

import org.newdawn.slick.AngelCodeFont;
import org.newdawn.slick.Color;
import org.newdawn.slick.Font;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.Input;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.state.BasicGameState;
import org.newdawn.slick.state.StateBasedGame;
import org.newdawn.slick.state.transition.FadeInTransition;
import org.newdawn.slick.state.transition.FadeOutTransition;

/**
* A simple test state to display an image and rotate it
*
* @author kevin
*/
public class TestState3 extends BasicGameState {
  /** The ID given to this state */
  public static final int ID = 3;
  /** The font to write the message with */
  private Font font;
  /** The menu options */
  private String[] options = new String[] {"Start Game","Credits","Highscores","Instructions","Exit"};
  /** The index of the selected option */
  private int selected;
  /** The game holding this state */
  private StateBasedGame game;
 
  /**
   * @see org.newdawn.slick.state.BasicGameState#getID()
   */
  public int getID() {
    return ID;
  }

  /**
   * @see org.newdawn.slick.state.BasicGameState#init(org.newdawn.slick.GameContainer, org.newdawn.slick.state.StateBasedGame)
   */
  public void init(GameContainer container, StateBasedGame game) throws SlickException {
    font = new AngelCodeFont("testdata/demo2.fnt","testdata/demo2_00.tga");
    this.game = game;
  }

  /**
   * @see org.newdawn.slick.state.BasicGameState#render(org.newdawn.slick.GameContainer, org.newdawn.slick.state.StateBasedGame, org.newdawn.slick.Graphics)
   */
  public void render(GameContainer container, StateBasedGame game, Graphics g) {
    g.setFont(font);
    g.setColor(Color.blue);
    g.drawString("This is State 3", 200, 50);
    g.setColor(Color.white);
   
    for (int i=0;i<options.length;i++) {
      g.drawString(options[i], 400 - (font.getWidth(options[i])/2), 200+(i*50));
      if (selected == i) {
        g.drawRect(200,190+(i*50),400,50);
      }
    }
  }

  /**
   * @see org.newdawn.slick.state.BasicGameState#update(org.newdawn.slick.GameContainer, org.newdawn.slick.state.StateBasedGame, int)
   */
  public void update(GameContainer container, StateBasedGame game, int delta) {
  }

  /**
   * @see org.newdawn.slick.state.BasicGameState#keyReleased(int, char)
   */
  public void keyReleased(int key, char c) {
    if (key == Input.KEY_DOWN) {
      selected++;
      if (selected >= options.length) {
        selected = 0;
      }
    }
    if (key == Input.KEY_UP) {
      selected--;
      if (selected < 0) {
        selected = options.length - 1;
      }
    }
    if (key == Input.KEY_1) {
      game.enterState(TestState1.ID, new FadeOutTransition(Color.black), new FadeInTransition(Color.black));
    }
    if (key == Input.KEY_2) {
      game.enterState(TestState2.ID, new FadeOutTransition(Color.black), new FadeInTransition(Color.black));
    }
  }

}
TOP

Related Classes of org.newdawn.slick.tests.states.TestState3

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.