Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package rto.game.screens;
- import java.io.File;
- import java.io.IOException;
- import java.util.ArrayList;
- import org.ini4j.InvalidFileFormatException;
- import org.ini4j.Wini;
- import com.badlogic.gdx.ApplicationAdapter;
- import com.badlogic.gdx.Gdx;
- import com.badlogic.gdx.Input;
- import com.badlogic.gdx.InputProcessor;
- import com.badlogic.gdx.Screen;
- import com.badlogic.gdx.audio.Music;
- import com.badlogic.gdx.audio.Sound;
- import com.badlogic.gdx.graphics.Color;
- import com.badlogic.gdx.graphics.GL20;
- import com.badlogic.gdx.graphics.OrthographicCamera;
- import com.badlogic.gdx.graphics.Texture;
- import com.badlogic.gdx.graphics.g2d.Animation;
- import com.badlogic.gdx.graphics.g2d.BitmapFont;
- import com.badlogic.gdx.graphics.g2d.Sprite;
- import com.badlogic.gdx.graphics.g2d.SpriteBatch;
- import com.badlogic.gdx.graphics.g2d.TextureAtlas;
- import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
- import com.badlogic.gdx.graphics.glutils.ShapeRenderer.ShapeType;
- import com.badlogic.gdx.maps.MapLayer;
- import com.badlogic.gdx.maps.MapObjects;
- import com.badlogic.gdx.maps.objects.RectangleMapObject;
- import com.badlogic.gdx.maps.tiled.TiledMap;
- import com.badlogic.gdx.maps.tiled.TiledMapRenderer;
- import com.badlogic.gdx.maps.tiled.TiledMapTileLayer;
- import com.badlogic.gdx.maps.tiled.TmxMapLoader;
- import com.badlogic.gdx.maps.tiled.renderers.BatchTiledMapRenderer;
- import com.badlogic.gdx.maps.tiled.renderers.OrthoCachedTiledMapRenderer;
- import com.badlogic.gdx.maps.tiled.renderers.OrthogonalTiledMapRenderer;
- import com.badlogic.gdx.math.Intersector;
- import com.badlogic.gdx.math.Rectangle;
- import com.badlogic.gdx.scenes.scene2d.ui.List;
- import rto.game.SceneHandler;
- import rto.game.entities.Being;
- import rto.game.entities.Player;
- import rto.game.objects.savefile;
- import rto.tools.GameTools;
- public class Play implements Screen {
- public static boolean isTalking = false;
- public static String mapName;
- private Texture face;
- private Texture box;
- private SpriteBatch facebatch;
- Texture img;
- TiledMap tiledMap;
- OrthographicCamera camera;
- OrthogonalTiledMapRenderer tiledMapRenderer;
- TextureAtlas playeratlas;
- TextureAtlas ryderatlas;
- Player player;
- Being ryder;
- TiledMapTileLayer layer;
- private BitmapFont font;
- TiledMapTileLayer collisionlayer;
- Music theme = Gdx.audio.newMusic(Gdx.files.internal("music/TheDarkWorld.mp3"));
- @Override
- public void show () {
- GameTools.fontText = new BitmapFont();
- GameTools.fontText.setColor(Color.WHITE);
- float w = Gdx.graphics.getWidth();
- float h = Gdx.graphics.getHeight();
- theme.setLooping(true);
- theme.setVolume(0.1f);
- theme.play();
- camera = new OrthographicCamera();
- camera.setToOrtho(false,w,h);
- camera.update();
- LoadMapName();
- tiledMap = new TmxMapLoader().load("maps/" + mapName + ".tmx");
- collisionlayer = (TiledMapTileLayer)tiledMap.getLayers().get("Collision");
- collisionlayer.setVisible(false);;
- tiledMapRenderer = new OrthogonalTiledMapRenderer(tiledMap);
- camera.zoom = 1 / 2f;
- CreatePlayer();
- CreateNPCs();
- LoadSaveGame();
- SceneHandler.InitializeSceneHandler();
- GameTools.InitializeFonts();
- Player.initLists(player, ryder);
- ryder.setX(480);
- ryder.setY(500);
- Gdx.input.setInputProcessor(player);
- }
- @Override
- public void render (float delta) {
- Gdx.gl.glClearColor(0, 0, 0, 1);
- Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
- FollowPlayer(player);
- camera.update();
- tiledMapRenderer.setView(camera);
- tiledMapRenderer.render();
- try {
- DrawUI();
- } catch (IOException e) {
- e.printStackTrace();
- }
- player.setXY(player.getX(),player.getY());
- ryder.setXY(ryder.getX(),ryder.getY());
- ((BatchTiledMapRenderer) tiledMapRenderer).getBatch().begin();
- ryder.draw(((BatchTiledMapRenderer) tiledMapRenderer).getBatch());
- player.draw(((BatchTiledMapRenderer) tiledMapRenderer).getBatch());
- ((BatchTiledMapRenderer) tiledMapRenderer).getBatch().end();
- if(isTalking){
- try {
- SceneHandler.UpdateSceneHandler(delta);
- SceneHandler.DrawScene();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- public void FollowPlayer(Player player){
- camera.position.set(player.getX() + player.getWidth() / 2, player.getY() + player.getHeight() / 2, 0);
- }
- public void LoadSaveGame(){
- savefile save = null;
- try {
- save = new savefile("save");
- } catch (IOException e) {
- e.printStackTrace();
- }
- player.setX(save.xpos);
- player.setY(save.ypos);
- player.setDir(save.dir);
- }
- public void LoadMapName(){
- savefile save = null;
- try {
- save = new savefile("save");
- } catch (IOException e) {
- e.printStackTrace();
- }
- mapName = save.mapName;
- }
- public void CreateNPCs(){
- ryderatlas = new TextureAtlas("overworld/ryder/rydersheet.pack");
- Animation walking;
- Animation walkingup;
- Animation walkingright;
- Animation walkingleft;
- Animation stilldown;
- Animation stillup;
- Animation stillright;
- Animation stillleft;
- walking = new Animation(1 / 4f, ryderatlas.findRegions("walkingdown"));
- walkingup = new Animation(1 / 4f, ryderatlas.findRegions("walkingup"));
- walkingright = new Animation(1 / 4f, ryderatlas.findRegions("walkingright"));
- walkingleft = new Animation(1 / 4f, ryderatlas.findRegions("walkingleft"));
- stilldown = new Animation(1 / 4f, ryderatlas.findRegions("stilldown"));
- stillup = new Animation(1 / 4f, ryderatlas.findRegions("stillup"));
- stillright = new Animation(1 / 4f, ryderatlas.findRegions("stillright"));
- stillleft = new Animation(1 / 4f, ryderatlas.findRegions("stillleft"));
- walking.setPlayMode(Animation.PlayMode.LOOP);
- walkingup.setPlayMode(Animation.PlayMode.LOOP);
- walkingright.setPlayMode(Animation.PlayMode.LOOP);
- walkingleft.setPlayMode(Animation.PlayMode.LOOP);
- stilldown.setPlayMode(Animation.PlayMode.LOOP);
- stillup.setPlayMode(Animation.PlayMode.LOOP);
- stillright.setPlayMode(Animation.PlayMode.LOOP);
- stillleft.setPlayMode(Animation.PlayMode.LOOP);
- ryder = new Being("ryder",walking, walkingup, walkingleft, walkingright, stilldown, stillup, stillleft, stillright);
- }
- public void CreatePlayer(){
- playeratlas = new TextureAtlas("overworld/player/playersheet.pack");
- Animation walking;
- Animation walkingup;
- Animation walkingright;
- Animation walkingleft;
- Animation stilldown;
- Animation stillup;
- Animation stillright;
- Animation stillleft;
- walking = new Animation(1 / 4f, playeratlas.findRegions("walkingdown"));
- walkingup = new Animation(1 / 4f, playeratlas.findRegions("walkingup"));
- walkingright = new Animation(1 / 4f, playeratlas.findRegions("walkingright"));
- walkingleft = new Animation(1 / 4f, playeratlas.findRegions("walkingleft"));
- stilldown = new Animation(1 / 4f, playeratlas.findRegions("stilldown"));
- stillup = new Animation(1 / 4f, playeratlas.findRegions("stillup"));
- stillright = new Animation(1 / 4f, playeratlas.findRegions("stillright"));
- stillleft = new Animation(1 / 4f, playeratlas.findRegions("stillleft"));
- walking.setPlayMode(Animation.PlayMode.LOOP);
- walkingup.setPlayMode(Animation.PlayMode.LOOP);
- walkingright.setPlayMode(Animation.PlayMode.LOOP);
- walkingleft.setPlayMode(Animation.PlayMode.LOOP);
- stilldown.setPlayMode(Animation.PlayMode.LOOP);
- stillup.setPlayMode(Animation.PlayMode.LOOP);
- stillright.setPlayMode(Animation.PlayMode.LOOP);
- stillleft.setPlayMode(Animation.PlayMode.LOOP);
- player = new Player((TiledMapTileLayer)tiledMap.getLayers().get("Collision"), walking, walkingup, walkingleft, walkingright, stilldown, stillup, stillleft, stillright);
- }
- @Override
- public void hide() {
- // TODO Auto-generated method stub
- }
- @Override
- public void resize(int width, int height) {
- camera.viewportHeight = height;
- camera.viewportWidth = width;
- camera.update();
- }
- @Override
- public void pause() {
- // TODO Auto-generated method stub
- }
- @Override
- public void resume() {
- // TODO Auto-generated method stub
- }
- public void DrawUI() throws InvalidFileFormatException, IOException{
- Wini ini = new Wini(new File("ui/player.ini"));
- String file;
- String test = "pumped";
- file = ini.get("plac", "face" + test);
- facebatch = new SpriteBatch();
- face = new Texture(Gdx.files.internal("faces/player/" + file +".png"));
- facebatch.begin();
- facebatch.draw(face, 10, 400);
- facebatch.end();
- }
- @Override
- public void dispose() {
- tiledMap.dispose();
- facebatch.dispose();
- tiledMapRenderer.dispose();
- playeratlas.dispose();
- ryderatlas.dispose();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement