Level.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. var node = self.node;
  2. var tmxFile = cache.getResource("TmxFile2D", "Levels/Level1.tmx");
  3. var tileMapNode = scene.createChild("TileMap");
  4. tileMapNode.setPosition([0.0, 0.0, 0.0]);
  5. var tileMap = tileMapNode.createComponent("TileMap2D");
  6. tileMap.setTmxFile(tmxFile);
  7. PlayerSpawnPoint = [0, 0];
  8. function parseEntities() {
  9. entityLayer = tileMap.getLayerByName("Entities");
  10. if (entityLayer) {
  11. for (var i = 0; i < entityLayer.numObjects; i++) {
  12. var o = entityLayer.getObject(i);
  13. var onode = entityLayer.getObjectNode(i);
  14. if ( o.type == "PlayerSpawn")
  15. PlayerSpawnPoint = onode.position2D;
  16. }
  17. }
  18. }
  19. function parsePhysics() {
  20. physicsLayer = tileMap.getLayerByName("Physics");
  21. if (physicsLayer) {
  22. for (var i = 0; i < physicsLayer.numObjects; i++) {
  23. var o = physicsLayer.getObject(i);
  24. var onode = physicsLayer.getObjectNode(i);
  25. var group = tmxFile.getTileObjectGroup(o.tileGid);
  26. var obody = null;
  27. if (group) {
  28. for (var j = 0; j < group.numObjects; j++) {
  29. var go = group.getObject(j);
  30. if (go.validCollisionShape()) {
  31. if (!obody) {
  32. obody = onode.createComponent("RigidBody2D");
  33. obody.bodyType = Atomic.BT_DYNAMIC;
  34. obody.awake = false;
  35. }
  36. var shape = go.createCollisionShape(onode);
  37. shape.density = 1.0;
  38. shape.friction = .5;
  39. shape.restitution = .1;
  40. }
  41. }
  42. }
  43. }
  44. }
  45. }
  46. parsePhysics();
  47. parseEntities();
  48. cameraNode.setPosition([8, 12, 0]);
  49. camera.setZoom(.75);