public void update(float deltaTime) {
   animation.update(deltaTime);
   region = animation.getCurRegion();
   coords = region.toArray();
   object.setTexCoords(coords, 0, 8);
   // object.bind();
 }
 private GPLabelBoard(
     GPVector3f position, GPVertexBuffer3 object, GPVector3f angles, GPSpriteAnimation animation) {
   super(position, object);
   // TODO Auto-generated constructor stub
   this.angles = angles.clone();
   this.texture = animation.texture;
   this.animation = animation;
   this.region = animation.getCurRegion();
   animation.play();
 }
  public static GPLabelBoard create(
      GPVector3f position,
      GPVector3f angles,
      float width,
      float height,
      GPShader shader,
      GPSpriteAnimation animation) {
    float[] vertices =
        new float[] {
          -width / 2, height, 0, width / 2, height, 0, -width / 2, 0, 0, width / 2, 0, 0,
        };
    short[] indices = new short[] {0, 2, 1, 1, 2, 3};
    float[] texCoord = animation.getCurRegion().toArray();

    GPVertexBuffer3 object = new GPVertexBuffer3(shader);
    object.setVertices(vertices, 0, 12);
    object.setIndices(indices, 0, 6);
    object.setTexCoords(texCoord, 0, 8);
    object.setTexture(animation.texture);

    return new GPLabelBoard(position, object, angles, animation);
  }
 public boolean isDone() {
   return animation.isDone();
 }