Level.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. }
  35. function start() {
  36. // create the physics
  37. self.levelParser.createPhysics(self.tileMap, self.tmxFile);
  38. createEntities();
  39. // spawn the player
  40. spawnPlayer();
  41. }
  42. function update(timeStep) {
  43. }