Advertisement
Guest User

map.java

a guest
Oct 25th, 2013
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.14 KB | None | 0 0
  1. package com.psillidev.pacman1;
  2. import com.badlogic.gdx.graphics.OrthographicCamera;
  3. import com.badlogic.gdx.graphics.g2d.SpriteBatch;
  4. import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
  5. import com.badlogic.gdx.graphics.glutils.ShapeRenderer.ShapeType;
  6. import com.badlogic.gdx.maps.tiled.*;
  7. import com.badlogic.gdx.maps.tiled.TiledMapTileLayer.Cell;
  8. import com.badlogic.gdx.maps.tiled.renderers.OrthogonalTiledMapRenderer;
  9. import com.badlogic.gdx.math.Rectangle;
  10. import com.badlogic.gdx.utils.Array;
  11.  
  12. public class Map {
  13. TiledMap tiledMap;
  14. public TiledMapTileLayer blockedLayer;
  15. public TiledMapTileLayer pillLayer;
  16. int[] tileLayer = {0} ;
  17. int[] collisionLayer;
  18.  
  19. Cell tileCell;
  20.  
  21. Array<Rectangle> blockedTiles = new Array<Rectangle>();
  22. Array<Pills> pillList = new Array<Pills>();
  23.  
  24. public OrthogonalTiledMapRenderer renderer;
  25. float unitScale;
  26.  
  27.     public Map(OrthographicCamera camera) {
  28.         float unitScale = 1/16f;
  29.        
  30.         tiledMap = new TmxMapLoader().load("data/pactest.tmx");
  31.        
  32.         blockedLayer = (TiledMapTileLayer) tiledMap.getLayers().get(1);
  33.         pillLayer = (TiledMapTileLayer) tiledMap.getLayers().get(2);
  34.        
  35.         renderer = new OrthogonalTiledMapRenderer(tiledMap, unitScale);
  36.        
  37.         renderer.setView(camera);
  38.        
  39.         setTiles();
  40.     }
  41.    
  42.     void setTiles() {
  43.         for (int y = 0;y < blockedLayer.getHeight();y++ ) {
  44.             for (int x = 0; x < blockedLayer.getWidth();x++) {
  45.                            
  46.                 //Set blocked tiles
  47.                 if (blockedLayer.getCell(x,y)!=null) {
  48.                 Rectangle tempRect = new Rectangle(x*16,y*16,16,16);
  49.                 blockedTiles.add(tempRect);
  50.                
  51.                 if (blockedLayer.getCell(x, y)==null) continue;
  52.                
  53.                 }
  54.                
  55.                
  56.                
  57.                 //Pill Tiles
  58.                     if (pillLayer.getCell(x, y)!=null) {
  59.                            
  60.                        
  61.                     if (pillLayer.getCell(x,y).getTile().getId()==7) {
  62.                         Pills tempPill = new Pills(0,x*16,y*16);
  63.                         pillList.add(tempPill);
  64.                         System.out.println("Pill Added");
  65.                     }
  66.                     if (pillLayer.getCell(x, y).getTile().getId()==11) {
  67.                         Pills tempPill = new Pills(1,x*16,y*16);
  68.                         pillList.add(tempPill);
  69.                         System.out.println("Super Pill Added");
  70.                     }
  71.                     }
  72.                    
  73.                
  74.             }
  75.                
  76.         }
  77.    
  78.     }
  79.    
  80.  
  81.    
  82.    
  83.    
  84.     public TiledMap getMap() {
  85.         return tiledMap;
  86.     }
  87.    
  88.     public float getScale() {
  89.         return unitScale;
  90.     }
  91.    
  92.    
  93.    
  94.     public Array<Rectangle> getBlockedTiles() {
  95.         return blockedTiles;
  96.     }
  97.    
  98.     public Array<Pills> getPillList() {
  99.         return pillList;
  100.     }
  101.    
  102.     public TiledMapTileLayer getBlockedLayer() {
  103.         return blockedLayer;
  104.     }
  105.    
  106.     public void render(OrthographicCamera camera) {
  107.         renderer.setView(camera);
  108.         //renderer.renderTileLayer(layer);
  109.         //renderer.render();
  110.         renderer.render(tileLayer);
  111.        
  112.        
  113.        
  114.        
  115.     //  System.out.println(blockedTiles.size);
  116.        
  117.         //ShapeRenderer rend = new ShapeRenderer();
  118.         //rend.begin(ShapeType.Line);
  119.         //for (int t = 0;t < blockedTiles.size;t++) {
  120.         //rend.rect(blockedTiles.get(t).x, blockedTiles.get(t).y, blockedTiles.get(t).width, blockedTiles.get(t).height);
  121.     //  System.out.println("Tile: " + t + " X: " + blockedTiles.get(t).x + " Y: " + blockedTiles.get(t).y + " Width: " + blockedTiles.get(t).width + " Height: " + blockedTiles.get(t).height);
  122.         //}
  123.         //rend.end();
  124.        
  125.     }
  126.    
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement