Guest User

Untitled

a guest
Mar 20th, 2016
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 'use strict';
  2.  
  3. /* Room object
  4. This object contains the information about a room in the game.
  5. tileset is a path to tileset which has possible nonwall collidable assets, which are present in the room.
  6. tileData is a path to a tilemap generated wih Tiled.
  7. */
  8.  
  9. function Room (game, tileset, tileData, moveDirection, moveSpeed)
  10. {
  11. var self = this;
  12.  
  13. var game = game;
  14. var tileset = tileset;
  15. var tileData = tileData;
  16. var myloader = new Phaser.Loader(game);
  17.  
  18. self.map;
  19.  
  20. var backgroundLayer;
  21.  
  22. var mycallback;
  23.  
  24. self.layerGroup = game.add.group();
  25.  
  26. self.moveDirection = moveDirection;
  27. self.moveSpeed = moveSpeed;
  28.  
  29. self.onceScaled = false;
  30.  
  31. var scale = () =>
  32.     {
  33.     self.layerGroup.forEach((layer) => {layer.resize(1920, 1080);}, this, true);
  34.     self.layerGroup.forEach((layer) => { layer.scale.x = scalingFactors.x; layer.scale.y = scalingFactors.y; });
  35.     self.onceScaled = true;
  36.     };
  37.  
  38. self.preload = (callback) =>
  39.     {
  40.     mycallback = callback;
  41.     if(!game.cache.checkImageKey(tileset))
  42.         {
  43.         myloader.image(tileset, "assets/maps/tiles/" + tileset);
  44.         }
  45.  
  46.     if(!game.cache.checkJSONKey(tileData))
  47.         {
  48.         myloader.tilemap(tileData, "assets/maps/JSON/collisionTestMap.json", null, Phaser.Tilemap.TILED_JSON);
  49.         }
  50.  
  51.     myloader.onLoadComplete.addOnce(create);
  52.     myloader.start();
  53.     };
  54.  
  55. var create = () =>
  56.     {
  57.     self.map = game.add.tilemap(tileData, 24, 15);
  58.  
  59.     console.log(self.map.width);
  60.     console.log(self.map.height);
  61.  
  62.     console.log(self.map.tileWidth);
  63.     console.log(self.map.tileHeight);
  64.  
  65.     self.map.addTilesetImage(tileset, tileset);
  66.  
  67.     backgroundLayer = self.map.createLayer('backgroundLayer');
  68.     self.layerGroup.add(backgroundLayer);
  69.  
  70.     backgroundLayer.debug = true;
  71.  
  72.     self.map.setCollisionBetween(1, 10000, true, 'backgroundLayer');
  73.  
  74.     self.layerGroup.setAll('fixedToCamera', false);
  75.  
  76.     mycallback();
  77.     };
  78.  
  79. self.moveTo = (x, y) =>
  80.     {
  81.  
  82.   // This is where the problem resides
  83.    
  84.     self.layerGroup.forEach((layer) => {layer.reset(x, y); layer.resetTilesetCache();}, this, true);
  85.    
  86.     console.log('backgroudLayer .worldPos.x :' + backgroundLayer.worldPosition.x + "\n" +
  87.                             '.x : ' + backgroundLayer.x + '\n' +
  88.                             '.position.x: ' + backgroundLayer.position.x); // .x and position.x are updated correctly, but worldPosition.x is stubbornly always 0
  89.    
  90.     };
  91.  
  92.  
  93. self.updateScaling = () =>
  94.     {
  95.     scale();
  96.     };
  97.  
  98.  
  99. }
Advertisement
Add Comment
Please, Sign In to add comment