Advertisement
Guest User

Untitled

a guest
Nov 24th, 2015
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.56 KB | None | 0 0
  1. package rto.game.screens;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.util.ArrayList;
  6.  
  7. import org.ini4j.InvalidFileFormatException;
  8. import org.ini4j.Wini;
  9.  
  10. import com.badlogic.gdx.ApplicationAdapter;
  11. import com.badlogic.gdx.Gdx;
  12. import com.badlogic.gdx.Input;
  13. import com.badlogic.gdx.InputProcessor;
  14. import com.badlogic.gdx.Screen;
  15. import com.badlogic.gdx.audio.Music;
  16. import com.badlogic.gdx.audio.Sound;
  17. import com.badlogic.gdx.graphics.Color;
  18. import com.badlogic.gdx.graphics.GL20;
  19. import com.badlogic.gdx.graphics.OrthographicCamera;
  20. import com.badlogic.gdx.graphics.Texture;
  21. import com.badlogic.gdx.graphics.g2d.Animation;
  22. import com.badlogic.gdx.graphics.g2d.BitmapFont;
  23. import com.badlogic.gdx.graphics.g2d.Sprite;
  24. import com.badlogic.gdx.graphics.g2d.SpriteBatch;
  25. import com.badlogic.gdx.graphics.g2d.TextureAtlas;
  26. import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
  27. import com.badlogic.gdx.graphics.glutils.ShapeRenderer.ShapeType;
  28. import com.badlogic.gdx.maps.MapLayer;
  29. import com.badlogic.gdx.maps.MapObjects;
  30. import com.badlogic.gdx.maps.objects.RectangleMapObject;
  31. import com.badlogic.gdx.maps.tiled.TiledMap;
  32. import com.badlogic.gdx.maps.tiled.TiledMapRenderer;
  33. import com.badlogic.gdx.maps.tiled.TiledMapTileLayer;
  34. import com.badlogic.gdx.maps.tiled.TmxMapLoader;
  35. import com.badlogic.gdx.maps.tiled.renderers.BatchTiledMapRenderer;
  36. import com.badlogic.gdx.maps.tiled.renderers.OrthoCachedTiledMapRenderer;
  37. import com.badlogic.gdx.maps.tiled.renderers.OrthogonalTiledMapRenderer;
  38. import com.badlogic.gdx.math.Intersector;
  39. import com.badlogic.gdx.math.Rectangle;
  40. import com.badlogic.gdx.scenes.scene2d.ui.List;
  41.  
  42. import rto.game.SceneHandler;
  43. import rto.game.entities.Being;
  44. import rto.game.entities.Player;
  45. import rto.game.objects.savefile;
  46. import rto.tools.GameTools;
  47.  
  48. public class Play implements Screen {
  49.    
  50.     public static boolean isTalking = false;
  51.     public static String mapName;
  52.    
  53.     private Texture face;
  54.     private Texture box;
  55.     private SpriteBatch facebatch;
  56.    
  57.     Texture img;
  58.     TiledMap tiledMap;
  59.     OrthographicCamera camera;
  60.     OrthogonalTiledMapRenderer tiledMapRenderer;
  61.    
  62.     TextureAtlas playeratlas;
  63.     TextureAtlas ryderatlas;
  64.     Player player;
  65.     Being ryder;
  66.     TiledMapTileLayer layer;
  67.    
  68.    
  69.     private BitmapFont font;
  70.    
  71.     TiledMapTileLayer collisionlayer;
  72.  
  73.     Music theme = Gdx.audio.newMusic(Gdx.files.internal("music/TheDarkWorld.mp3"));
  74.    
  75.     @Override
  76.     public void show () {
  77.         GameTools.fontText = new BitmapFont();
  78.         GameTools.fontText.setColor(Color.WHITE);
  79.        
  80.         float w = Gdx.graphics.getWidth();
  81.         float h = Gdx.graphics.getHeight();
  82.                
  83.         theme.setLooping(true);
  84.         theme.setVolume(0.1f);
  85.         theme.play();
  86.        
  87.         camera = new OrthographicCamera();
  88.         camera.setToOrtho(false,w,h);
  89.         camera.update();
  90.        
  91.         LoadMapName();
  92.        
  93.         tiledMap = new TmxMapLoader().load("maps/" + mapName + ".tmx");            
  94.         collisionlayer = (TiledMapTileLayer)tiledMap.getLayers().get("Collision");
  95.         collisionlayer.setVisible(false);;
  96.        
  97.         tiledMapRenderer = new OrthogonalTiledMapRenderer(tiledMap);
  98.         camera.zoom = 1 / 2f;
  99.        
  100.         CreatePlayer();
  101.         CreateNPCs();
  102.         LoadSaveGame();
  103.         SceneHandler.InitializeSceneHandler();
  104.         GameTools.InitializeFonts();
  105.         Player.initLists(player, ryder);
  106.        
  107.         ryder.setX(480);
  108.         ryder.setY(500);
  109.        
  110.         Gdx.input.setInputProcessor(player);
  111.     }
  112.  
  113.     @Override
  114.     public void render (float delta) {
  115.         Gdx.gl.glClearColor(0, 0, 0, 1);
  116.         Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
  117.  
  118.         FollowPlayer(player);
  119.         camera.update();
  120.         tiledMapRenderer.setView(camera);
  121.         tiledMapRenderer.render();
  122.  
  123.         try {
  124.             DrawUI();
  125.         } catch (IOException e) {
  126.             e.printStackTrace();
  127.         }
  128.        
  129.         player.setXY(player.getX(),player.getY());
  130.         ryder.setXY(ryder.getX(),ryder.getY());
  131.        
  132.         ((BatchTiledMapRenderer) tiledMapRenderer).getBatch().begin();      
  133.         ryder.draw(((BatchTiledMapRenderer) tiledMapRenderer).getBatch());
  134.         player.draw(((BatchTiledMapRenderer) tiledMapRenderer).getBatch());
  135.         ((BatchTiledMapRenderer) tiledMapRenderer).getBatch().end();
  136.        
  137.         if(isTalking){
  138.             try {
  139.                 SceneHandler.UpdateSceneHandler(delta);
  140.                 SceneHandler.DrawScene();
  141.             } catch (IOException e) {
  142.                 e.printStackTrace();
  143.             }          
  144.         }      
  145.     }
  146.  
  147.     public void FollowPlayer(Player player){
  148.         camera.position.set(player.getX() + player.getWidth() / 2, player.getY() + player.getHeight() / 2, 0);
  149.     }
  150.    
  151.     public void LoadSaveGame(){
  152.         savefile save = null;
  153.         try {
  154.             save = new savefile("save");
  155.         } catch (IOException e) {
  156.             e.printStackTrace();
  157.         }
  158.        
  159.         player.setX(save.xpos);
  160.         player.setY(save.ypos);
  161.         player.setDir(save.dir);
  162.     }
  163.    
  164.     public void LoadMapName(){
  165.         savefile save = null;
  166.         try {
  167.             save = new savefile("save");
  168.         } catch (IOException e) {
  169.             e.printStackTrace();
  170.         }  
  171.         mapName = save.mapName;
  172.     }
  173.    
  174.     public void CreateNPCs(){
  175.         ryderatlas = new TextureAtlas("overworld/ryder/rydersheet.pack");
  176.        
  177.         Animation walking;
  178.         Animation walkingup;
  179.         Animation walkingright;
  180.         Animation walkingleft;
  181.        
  182.         Animation stilldown;
  183.         Animation stillup;
  184.         Animation stillright;
  185.         Animation stillleft;
  186.        
  187.         walking = new Animation(1 / 4f, ryderatlas.findRegions("walkingdown"));
  188.         walkingup = new Animation(1 / 4f, ryderatlas.findRegions("walkingup"));
  189.         walkingright = new Animation(1 / 4f, ryderatlas.findRegions("walkingright"));
  190.         walkingleft = new Animation(1 / 4f, ryderatlas.findRegions("walkingleft"));
  191.        
  192.         stilldown = new Animation(1 / 4f, ryderatlas.findRegions("stilldown"));
  193.         stillup = new Animation(1 / 4f, ryderatlas.findRegions("stillup"));
  194.         stillright = new Animation(1 / 4f, ryderatlas.findRegions("stillright"));
  195.         stillleft = new Animation(1 / 4f, ryderatlas.findRegions("stillleft"));
  196.        
  197.        
  198.         walking.setPlayMode(Animation.PlayMode.LOOP);
  199.         walkingup.setPlayMode(Animation.PlayMode.LOOP);
  200.         walkingright.setPlayMode(Animation.PlayMode.LOOP);
  201.         walkingleft.setPlayMode(Animation.PlayMode.LOOP);
  202.        
  203.         stilldown.setPlayMode(Animation.PlayMode.LOOP);
  204.         stillup.setPlayMode(Animation.PlayMode.LOOP);
  205.         stillright.setPlayMode(Animation.PlayMode.LOOP);
  206.         stillleft.setPlayMode(Animation.PlayMode.LOOP);
  207.         ryder = new Being("ryder",walking, walkingup, walkingleft, walkingright, stilldown, stillup, stillleft, stillright);
  208.     }
  209.    
  210.     public void CreatePlayer(){
  211.        
  212.         playeratlas = new TextureAtlas("overworld/player/playersheet.pack");
  213.        
  214.         Animation walking;
  215.         Animation walkingup;
  216.         Animation walkingright;
  217.         Animation walkingleft;
  218.        
  219.         Animation stilldown;
  220.         Animation stillup;
  221.         Animation stillright;
  222.         Animation stillleft;
  223.        
  224.         walking = new Animation(1 / 4f, playeratlas.findRegions("walkingdown"));
  225.         walkingup = new Animation(1 / 4f, playeratlas.findRegions("walkingup"));
  226.         walkingright = new Animation(1 / 4f, playeratlas.findRegions("walkingright"));
  227.         walkingleft = new Animation(1 / 4f, playeratlas.findRegions("walkingleft"));
  228.        
  229.         stilldown = new Animation(1 / 4f, playeratlas.findRegions("stilldown"));
  230.         stillup = new Animation(1 / 4f, playeratlas.findRegions("stillup"));
  231.         stillright = new Animation(1 / 4f, playeratlas.findRegions("stillright"));
  232.         stillleft = new Animation(1 / 4f, playeratlas.findRegions("stillleft"));
  233.        
  234.        
  235.         walking.setPlayMode(Animation.PlayMode.LOOP);
  236.         walkingup.setPlayMode(Animation.PlayMode.LOOP);
  237.         walkingright.setPlayMode(Animation.PlayMode.LOOP);
  238.         walkingleft.setPlayMode(Animation.PlayMode.LOOP);
  239.        
  240.         stilldown.setPlayMode(Animation.PlayMode.LOOP);
  241.         stillup.setPlayMode(Animation.PlayMode.LOOP);
  242.         stillright.setPlayMode(Animation.PlayMode.LOOP);
  243.         stillleft.setPlayMode(Animation.PlayMode.LOOP);
  244.        
  245.         player = new Player((TiledMapTileLayer)tiledMap.getLayers().get("Collision"), walking, walkingup, walkingleft, walkingright, stilldown, stillup, stillleft, stillright);
  246.     }
  247.    
  248.    
  249.     @Override
  250.     public void hide() {
  251.         // TODO Auto-generated method stub
  252.        
  253.     }
  254.  
  255.     @Override
  256.     public void resize(int width, int height) {
  257.         camera.viewportHeight = height;
  258.         camera.viewportWidth = width;
  259.         camera.update();
  260.     }
  261.  
  262.     @Override
  263.     public void pause() {
  264.         // TODO Auto-generated method stub
  265.        
  266.     }
  267.  
  268.     @Override
  269.     public void resume() {
  270.         // TODO Auto-generated method stub
  271.        
  272.     }
  273.    
  274.     public void DrawUI() throws InvalidFileFormatException, IOException{
  275.         Wini ini = new Wini(new File("ui/player.ini"));
  276.         String file;
  277.         String test = "pumped";
  278.         file = ini.get("plac", "face" + test);
  279.         facebatch = new SpriteBatch();
  280.        
  281.         face = new Texture(Gdx.files.internal("faces/player/" + file +".png"));
  282.        
  283.         facebatch.begin();
  284.         facebatch.draw(face, 10, 400);
  285.         facebatch.end();
  286.     }
  287.  
  288.     @Override
  289.     public void dispose() {
  290.         tiledMap.dispose();
  291.         facebatch.dispose();
  292.         tiledMapRenderer.dispose();
  293.         playeratlas.dispose();
  294.         ryderatlas.dispose();
  295.     }
  296.    
  297. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement