Level.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. var game = Atomic.game;
  2. var cache = game.cache;
  3. var scene = game.scene;
  4. var node = self.node;
  5. self.init = function(level) {
  6. node.createJSComponent("Lighting");
  7. self.tmxFile = cache.getResource("TmxFile2D", "Levels/" + level);
  8. self.tileMap = node.createComponent("TileMap2D");
  9. self.tileMap.setTmxFile(self.tmxFile);
  10. self.levelParser = new LevelParser(self.tileMap);
  11. var backgroundNode = scene.createChild("Background");
  12. backgroundNode.createJSComponent("Background");
  13. }
  14. function spawnPlayer() {
  15. var position = self.levelParser.getSpawnpoint();
  16. self.playerNode = node.createChild("PlayerNode");
  17. self.player = self.playerNode.createJSComponent("Player");
  18. self.player.init(position);
  19. }
  20. function createEntities() {
  21. var platforms = self.levelParser.getEntities("MovingPlatform");
  22. for (var i = 0; i < platforms.length; i++) {
  23. var p = platforms[i];
  24. var pnode = scene.createChild("PlatformNode");
  25. var platform = pnode.createJSComponent("MovingPlatform");
  26. platform.init(p.start, p.stop);
  27. }
  28. var vines = self.levelParser.getEntities("Vine");
  29. for (var i = 0; i < vines.length; i++) {
  30. var vnode = scene.createChild("Vine");
  31. var vine = vnode.createJSComponent("Vine");
  32. vine.init(vines[i].position);
  33. }
  34. var bats = self.levelParser.getEntities("Bat");
  35. for (var i = 0; i < bats.length; i++) {
  36. var bnode = scene.createChild("Bat");
  37. var bat = bnode.createJSComponent("Bat");
  38. bnode.position2D = bats[i].position;
  39. }
  40. var coins = self.levelParser.getEntities("Coin");
  41. for (var i = 0; i < coins.length; i++) {
  42. var cnode = scene.createChild("Coin");
  43. var coin = cnode.createJSComponent("Coin");
  44. cnode.position2D = coins[i].position;
  45. }
  46. var batWaypoints = self.levelParser.getEntities("BatWaypoint");
  47. for (var i = 0; i < batWaypoints.length; i++) {
  48. Platformer.batWaypoints.push(batWaypoints[i].position);
  49. }
  50. }
  51. function start() {
  52. // create the physics
  53. self.levelParser.createPhysics(self.tileMap, self.tmxFile);
  54. createEntities();
  55. // spawn the player
  56. spawnPlayer();
  57. }
  58. function update(timeStep) {
  59. }