Level.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. "atomic component";
  2. var LevelParser = require("LevelParser");
  3. var component = function (self) {
  4. self.start = function() {
  5. var tileMap = self.node.getComponent("TileMap2D");
  6. var tmxFile = tileMap.tmxFile;
  7. var levelParser = new LevelParser(tileMap);
  8. levelParser.createPhysics(tileMap, tmxFile);
  9. var position = levelParser.getSpawnpoint();
  10. position[1] += 1.5;
  11. var node = self.scene.createChildPrefab("Player", "Prefabs/Hero.prefab");
  12. node.position2D = position;
  13. var platforms = levelParser.getEntities("MovingPlatform");
  14. for (var i = 0; i < platforms.length; i++) {
  15. var p = platforms[i];
  16. var node = self.scene.createChildPrefab("MovingPlatform", "Prefabs/MovingPlatform.prefab");
  17. node.position2D = p.start;
  18. node.startPos = p.start;
  19. node.stopPos = p.stop;
  20. }
  21. var coins = levelParser.getEntities("Coin");
  22. for (var i = 0; i < coins.length; i++) {
  23. var node = self.scene.createChildPrefab("Coin", "Prefabs/Coin.prefab");
  24. node.position2D = coins[i].position;
  25. }
  26. var waypoints = [];
  27. var batWaypoints = levelParser.getEntities("BatWaypoint");
  28. for (var i = 0; i < batWaypoints.length; i++) {
  29. waypoints.push(batWaypoints[i].position);
  30. }
  31. var bats = levelParser.getEntities("Bat");
  32. for (var i = 0; i < bats.length; i++) {
  33. var node = self.scene.createChildPrefab("Bat", "Prefabs/Bat.prefab");
  34. node.position2D = bats[i].position;
  35. node.scale2D = [.5, .5];
  36. node.waypoints = waypoints;
  37. }
  38. var vines = levelParser.getEntities("Vine");
  39. for (var i = 0; i < vines.length; i++) {
  40. var vnode = self.scene.createChild("Vine");
  41. vnode.createJSComponent("Components/Vine.js", {startPosition : vines[i].position});
  42. }
  43. }
  44. self.update = function(timeStep) {
  45. }
  46. }
  47. exports.component = component;