Package com.palepail.TestGame.Levels

Source Code of com.palepail.TestGame.Levels.TestLevel

package com.palepail.TestGame.Levels;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Animation;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.math.Vector2;
import com.palepail.TestGame.Enemies.BossOne;
import com.palepail.TestGame.Enemies.Follower;
import com.palepail.TestGame.Enemies.LargeEnemy;
import com.palepail.TestGame.Enemies.Shooter;
import com.palepail.TestGame.Model.Entity;
import com.palepail.TestGame.Utilities.Configuration;

public class TestLevel extends Level {

  Texture shipSheet;
  Texture enemySheet;
  Texture projectileSheet;
  Texture bossSheet;

  Animation enemyBasicBulletAnimation;
  Animation shooterAnimation;
  Animation shooterMoveAnimation;
  Animation shipAnimation;
  Animation shipMoveAnimation;
  Animation followerAnimation;

  Animation bossMoveAnimation;
  Animation bossWaitAnimation;
  Animation bossAttackAnimation;
  TextureRegion[] bossMoveFrames;
  TextureRegion[] bossWaitFrames;
  TextureRegion[] bossAttackFrames;

  int shipSheetTileWidth = 16;
  int shipSheetTileHeight = 16;
  TextureRegion[] shipFrames;
  TextureRegion[] shipMoveFrames;
  TextureRegion shipSlow;
  TextureRegion shipBasicBullet;

  TextureRegion basicExplosion;
  TextureRegion Follower;
  TextureRegion bomb;

  TextureRegion bossHealthBar;
 
  int enemySheetTileWidth = 32;
  int enemySheetTileHeight = 32;
  TextureRegion[] enemyBasicBulletFrames;
  TextureRegion[] shooterMoveFrames;
  TextureRegion[] shooterFrames;

  TextureRegion pointsItem;
  TextureRegion powerItem;
  TextureRegion bombItem;

  TextureRegion frameTexture;
  boolean alternate = false;

  public TestLevel() {
    name = "Test Level";
    bgm = "game";
    bgmName = "Naki Oujo no Tame no Septette";
    setQueues();

    // =================Animations

    shipSheet = new Texture(Gdx.files.internal("data/spritesheets/CharacterSheet.png"));
    enemySheet = new Texture(Gdx.files.internal("data/spritesheets/EnemySheet.png"));
    projectileSheet = new Texture(Gdx.files.internal("data/spritesheets/ProjectileSheet.png"));
    bossSheet = new Texture(Gdx.files.internal("data/spritesheets/BossSheet.png"));

    frameTexture = new TextureRegion(new Texture("data/screens/frame.png"));

    // set sprite sheet to work with to shipSheet
    TextureRegion[][] tmp = TextureRegion.split(shipSheet, shipSheet.getWidth() / shipSheetTileWidth * 3,
        shipSheet.getHeight() / shipSheetTileHeight * 3);
    shipFrames = new TextureRegion[3]; // number of frames for the animation
                      // counting from 0
    shipMoveFrames = new TextureRegion[4];

    // place all ship frames into array
    //
    int index = 0;
    for (int i = 2; i < 3; i++) {
      for (int j = 0; j < 3; j++) {
        shipFrames[index++] = tmp[i][j];
      }
    }
    // place all ship turing frams into array
    index = 0;
    for (int i = 3; i < 4; i++) {
      for (int j = 0; j < 4; j++) {
        shipMoveFrames[index++] = tmp[i][j];
      }
    }

    index = 0;
    for (int i = 3; i < 4; i++) {
      for (int j = 0; j < 4; j++) {
        shipMoveFrames[index++] = tmp[i][j];
      }
    }

    shipBasicBullet = new TextureRegion(shipSheet, 64, 224, 48, 16);

    shipAnimation = new Animation(.2f, shipFrames);
    shipMoveAnimation = new Animation(.2f, shipMoveFrames);

    // switch sprite sheet to enemySheet
    tmp = TextureRegion.split(enemySheet, enemySheet.getWidth() / 16, enemySheet.getHeight() / 16);

    // place enemy bulletFrames into array sprite sheet

    index = 0;
    enemyBasicBulletFrames = new TextureRegion[7];
    for (int i = 6; i < 7; i++) {
      for (int j = 8; j < 15; j++) {
        enemyBasicBulletFrames[index++] = tmp[i][j];
      }
    }
    enemyBasicBulletAnimation = new Animation(.15f, enemyBasicBulletFrames);
    animations.put("enemyBasicBulletBlue", enemyBasicBulletAnimation);
    // red enemy bullets
    index = 0;
    enemyBasicBulletFrames = new TextureRegion[7];
    for (int i = 4; i < 5; i++) {
      for (int j = 8; j < 15; j++) {
        enemyBasicBulletFrames[index++] = tmp[i][j];
      }
    }
    enemyBasicBulletAnimation = new Animation(.15f, enemyBasicBulletFrames);
    animations.put("enemyBasicBulletRed", enemyBasicBulletAnimation);

    // green enemy bullets
    index = 0;
    enemyBasicBulletFrames = new TextureRegion[7];
    for (int i = 5; i < 6; i++) {
      for (int j = 8; j < 15; j++) {
        enemyBasicBulletFrames[index++] = tmp[i][j];
      }
    }
    enemyBasicBulletAnimation = new Animation(.15f, enemyBasicBulletFrames);
    animations.put("enemyBasicBulletGreen", enemyBasicBulletAnimation);

    // place enemy frames into array from sprite sheet
    // blue shooter animations
    shooterFrames = new TextureRegion[3];
    index = 0;
    for (int i = 0; i < 1; i++) {
      for (int j = 0; j < 3; j++) {
        shooterFrames[index++] = tmp[i][j];
      }
    }
    shooterAnimation = new Animation(.2f, shooterFrames);
    animations.put("ShooterBlue", shooterAnimation);

    shooterMoveFrames = new TextureRegion[3];
    index = 0;
    for (int i = 0; i < 1; i++) {
      for (int j = 4; j < 7; j++) {
        shooterMoveFrames[index++] = tmp[i][j];
      }
    }
    shooterMoveAnimation = new Animation(.2f, shooterMoveFrames);
    animations.put("ShooterBlueMove", shooterMoveAnimation);

    shooterFrames = new TextureRegion[3];
    index = 0;
    for (int i = 1; i < 2; i++) {
      for (int j = 0; j < 3; j++) {
        shooterFrames[index++] = tmp[i][j];
      }
    }
    // red shooter animation
    shooterAnimation = new Animation(.2f, shooterFrames);
    animations.put("ShooterRed", shooterAnimation);

    shooterMoveFrames = new TextureRegion[3];
    index = 0;
    for (int i = 1; i < 2; i++) {
      for (int j = 4; j < 7; j++) {
        shooterMoveFrames[index++] = tmp[i][j];
      }
    }
    shooterMoveAnimation = new Animation(.2f, shooterMoveFrames);
    animations.put("ShooterRedMove", shooterMoveAnimation);

    // green shooter animations
    shooterFrames = new TextureRegion[3];
    index = 0;
    for (int i = 2; i < 3; i++) {
      for (int j = 0; j < 3; j++) {
        shooterFrames[index++] = tmp[i][j];
      }
    }
    shooterAnimation = new Animation(.2f, shooterFrames);
    animations.put("ShooterGreen", shooterAnimation);

    shooterMoveFrames = new TextureRegion[3];
    index = 0;
    for (int i = 2; i < 3; i++) {
      for (int j = 4; j < 7; j++) {
        shooterMoveFrames[index++] = tmp[i][j];
      }
    }
    shooterMoveAnimation = new Animation(.2f, shooterMoveFrames);
    animations.put("ShooterGreenMove", shooterMoveAnimation);

    shipSlow = new TextureRegion(projectileSheet, 288, 128, 64, 64);

    Follower = new TextureRegion(enemySheet, 1, 192, 32, 32);
    followerAnimation = new Animation(1f, Follower);
    animations.put("FollowerRed", followerAnimation);

    Follower = new TextureRegion(enemySheet, 65, 192, 32, 32);
    followerAnimation = new Animation(1f, Follower);
    animations.put("FollowerBlue", followerAnimation);

    Follower = new TextureRegion(enemySheet, 33, 192, 32, 32);
    followerAnimation = new Animation(1f, Follower);
    animations.put("FollowerGreen", followerAnimation);
    ;

    basicExplosion = new TextureRegion(enemySheet, 1, 224, 32, 32);
    textures.put("basicExplosionRed", basicExplosion);

    basicExplosion = new TextureRegion(enemySheet, 65, 224, 32, 32);
    textures.put("basicExplosionBlue", basicExplosion);

    basicExplosion = new TextureRegion(enemySheet, 33, 224, 32, 32);
    textures.put("basicExplosionGreen", basicExplosion);

    // place enemy bulletFrames into array sprite sheet
    bossWaitFrames = new TextureRegion[4];
    index = 0;
    for (int j = 0; j < 4; j++) {
      bossWaitFrames[index++] = new TextureRegion(bossSheet, j * 48, 0*64, 48, 64);
    }
    bossWaitAnimation = new Animation(.15f, bossWaitFrames);
    animations.put("BossOneWait", bossWaitAnimation);

    bossMoveFrames = new TextureRegion[3];
    index = 0;
    for (int j = 0; j < 3; j++) {
      bossMoveFrames[index++] = new TextureRegion(bossSheet, j * 48, 1*64, 48, 64);
    }
    bossMoveAnimation = new Animation(.15f, bossMoveFrames);
    animations.put("BossOneMove", bossMoveAnimation);
   
    bossAttackFrames = new TextureRegion[4];
    index = 0;
    for (int j = 0; j < 4; j++) {
      bossAttackFrames[index++] = new TextureRegion(bossSheet, j * 48, 2*64, 48, 64);
    }
    bossAttackAnimation = new Animation(.15f, bossAttackFrames);
    animations.put("BossOneAttack", bossAttackAnimation);

    bomb = new TextureRegion(projectileSheet, 695, 28, 256, 256);

    powerItem = new TextureRegion(projectileSheet, 320, 80, 16, 16);
    bombItem = new TextureRegion(projectileSheet, 336, 80, 16, 16);
    pointsItem = new TextureRegion(projectileSheet, 306, 82, 12, 12);
   
    bossHealthBar = new TextureRegion(projectileSheet, 34, 18, 14, 14);
    textures.put("healthBar", bossHealthBar);
   
    animations.put("Ship", shipAnimation);
    animations.put("ShipMove", shipMoveAnimation);

    textures.put("shipBasicBullet", shipBasicBullet);
    textures.put("shipSlow", shipSlow);
    textures.put("bomb", bomb);

    textures.put("Follower", Follower);

    textures.put("powerItem", powerItem);
    textures.put("bombItem", bombItem);
    textures.put("pointsItem", pointsItem);
    textures.put("Frame", frameTexture);

  }

  public Level getNextLevel() {
    return new LevelTwo();
  }
 
  public Animation getAnimation(String key) {

    return animations.get(key);
  }

  public TextureRegion getTexture(String key) {

    return textures.get(key);
  }

  protected void setQueues() {
    super.setQueues();

    enemyQueue.add(getFollowerLerp(5, 23, 0, 0f, Entity.VARIATION_BLUE));
    enemyTimes.add(300);
    enemyQueue.add(getFollowerLerp(14, 23, 0, 0f, Entity.VARIATION_BLUE));
    enemyTimes.add(300);
   
    enemyTimes.add(WAIT_FOR_ENEMIES);
    enemyTimes.add(VICTORY);

  }

}
TOP

Related Classes of com.palepail.TestGame.Levels.TestLevel

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.