Advertisement
Guest User

Level5BlockRunner.js

a guest
Apr 24th, 2015
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.89 KB | None | 0 0
  1. var INIT_LEVEL5 = false;
  2.  
  3. var level5 = baseLayer.extend
  4. ({
  5. gravGradient:null,
  6. boostObj:null,
  7.  
  8. ctor:function ()
  9. {
  10. //Check if accel level then turn off
  11. if(GameVars.isAccelLvl) GameVars.isAccelLvl = false;
  12.  
  13. this._super();
  14.  
  15. //Init with current level
  16. this.init(5);
  17.  
  18. //Array for boost collision bodies
  19. this.boostObj = [];
  20.  
  21. this.collEnt = [];
  22.  
  23. //Unlock the current level
  24. this.unlockLevel();
  25.  
  26. //start Physics system
  27. this.initPhysics();
  28.  
  29. //Create Hud Layer
  30. this.HudLayer = new HudLayer();
  31. this.map00 = new cc.TMXTiledMap(res.level5_tmx);
  32.  
  33. //Create bg Graident
  34. this.createBakcgroundGradient();
  35.  
  36. GameVars.mapWidth = this.map00.getContentSize().width;
  37. GameVars.mapHeight = this.map00.getContentSize().height;
  38. GameVars.mapX = this.map00.getPositionX();
  39. GameVars.mapY = this.map00.getPositionY();
  40.  
  41. //Create Layer structure
  42. this.gameLayer = new cc.Layer();
  43. this.gameLayer.addChild(this.gradient,0);
  44. this.loadBaseObjects(this.map00, true);
  45. this.loadObjects(this.map00, 0);
  46. this.mPlayer = new Player(GameVars.startPosx,GameVars.startPosy,this.space,this.sendId);
  47. this.gameLayer.addChild(this.mPlayer);
  48. this.gameLayer.addChild(this.gravGradient);
  49. this.gameLayer.addChild(this.map00,0);
  50. this.addChild(this.gameLayer);
  51. this.addChild(this.HudLayer);
  52. this.addChild(this.startTimerLabel);
  53. this.HudLayer.setVisible(false);
  54.  
  55. //Start offset sequence
  56. if(GameVars.scaleFactor == 2)
  57. this.startGameSeq(0.53,1550,360);
  58. else
  59. this.startGameSeq(0.45,1150,180);
  60.  
  61. //create the intro numbers
  62. this.createNumbers();
  63.  
  64. if(GameVars.scaleFactor == 2)
  65. this.startSequnce(1550,360);
  66. else
  67. this.startSequnce(1150, 180);
  68.  
  69. //Create follow action on player to create a camera effects
  70. var followAction = cc.Follow.create(this.mPlayer.shape.image,cc.rect(0,0,this.map00.getContentSize().width, this.map00.getContentSize().height));
  71. this.gameLayer.runAction(followAction);
  72.  
  73. this.stopHud = true;
  74. this.createPauseMenu(this.mPlayer,this);
  75. this.pauseBtn.visible = false;
  76. this.startMusic();
  77. GameVars.canMove = false;
  78. },
  79.  
  80. loadObjects:function(map,mapIndex)
  81. {
  82. //Load boost Objects
  83. var boosters = map.getObjectGroup("boostObj");
  84. var boostArray = boosters.getObjects();
  85. for(var i = 0; i < boostArray.length; i++)
  86. {
  87. var boost = new Boost(this.space,cc.p(boostArray[i]["x"],boostArray[i]["y"]),boostArray[i]["width"],boostArray[i]["height"],boostArray[i]["type"]);
  88. this.gameLayer.addChild(boost);
  89. this.boostObj.push(boost);
  90. }
  91.  
  92. //Load gravity Switch Objects
  93. var gravSwitch = map.getObjectGroup("switch");
  94. var switchArray = gravSwitch.getObjects();
  95. for(var i = 0; i < switchArray.length; i++)
  96. {
  97. var collType = SpriteTag.gravOn;
  98. if(switchArray[i]["type"] == 1)
  99. {
  100. collType = SpriteTag.gravOff;
  101. }
  102. createStaticBody(this.space,cc.p(switchArray[i]["x"] + switchArray[i]["width"] / 2, switchArray[i]["y"] + switchArray[i]["height"] / 2),
  103. switchArray[i]["width"],switchArray[i]["height"],true,collType);
  104. }
  105.  
  106. //Load swing saw objects
  107. var swingSaw = map.getObjectGroup("swingSaw");
  108. var swingArray = swingSaw.getObjects();
  109. for(var i = 0; i < swingArray.length; i++)
  110. {
  111. var swingSaw = new SpinningSaw(this.space,cc.p(swingArray[i]['x'], swingArray[i]['y']), swingArray[i]['type']);
  112. this.gameLayer.addChild(swingSaw);
  113. }
  114.  
  115. //Load gravity switch gradient
  116. this.gravGradient = cc.LayerGradient.create(cc.color(217,205,90,255),cc.color(242,205,90,255));
  117. this.gravGradient.setStartOpacity(100);
  118. this.gravGradient.setEndOpacity(100);
  119. this.gravGradient.setContentSize(360 * GameVars.scaleFactor,1000 * GameVars.scaleFactor);
  120. this.gravGradient.x = switchArray[1]["x"];
  121. if(GameVars.scaleFactor == 1)
  122. this.gravGradient.y = switchArray[1]["y"] + GameVars.TileSize;
  123. else
  124. this.gravGradient.y = switchArray[1]["y"];
  125.  
  126. //Load Saws
  127. var saws = map.getObjectGroup("saws");
  128. var sawArray = saws.getObjects();
  129. for (var i = 0; i < sawArray.length; i++)
  130. {
  131. var saw = new Saw(this.space,cc.p(sawArray[i]["x"] + sawArray[i]["width"] / 2,sawArray[i]["y"] + sawArray[i]["height"] / 2));
  132. this.gameLayer.addChild(saw);
  133. }
  134. },
  135.  
  136. collisionBoost:function(arbiter,space)
  137. {
  138. this.mPlayer.boost(1500);
  139. this.boostObj[0].startAnim();
  140. cc.audioEngine.playEffect(res.bounceSnd_wav);
  141. },
  142.  
  143. collisionGravOn:function()
  144. {
  145. //Flip Gravity
  146. this.space.gravity = cp.v(0, (GameVars.gravity * GameVars.scaleFactor));
  147. if(!GameVars.isGravityFlipped)
  148. {
  149. //If its not flipped already then flip it
  150. cc.audioEngine.playEffect(res.gravitySwitch_mp3, 0);
  151. var action = cc.RotateBy.create(0.1, 180);
  152. this.mPlayer.shape.image.runAction(action);
  153. }
  154. GameVars.isGravityFlipped = true;
  155. },
  156.  
  157. collisionGravOff:function()
  158. {
  159. //Flip gravity back
  160. this.space.gravity = cp.v(0, -(GameVars.gravity * GameVars.scaleFactor));
  161. if(GameVars.isGravityFlipped)
  162. {
  163. //If its flipped back then rotate sprite
  164. cc.audioEngine.playEffect(res.gravityOff_wav, 0);
  165. var action = cc.RotateBy.create(0.1, 180);
  166. this.mPlayer.shape.image.runAction(action);
  167. }
  168. GameVars.isGravityFlipped = false;
  169. },
  170.  
  171. collisionGoal:function (arbiter,space)
  172. {
  173. this.createParticleSys();
  174. //stop time and play particles
  175. //and play sequence
  176. this.mPlayer.stopMoving();
  177. cc.audioEngine.playEffect(res.sparkleSound_mp3);
  178. this.stopHud = true;
  179. GameVars.levelTime = this.time / 100;
  180. GameVars.canMove = false;
  181. var sprite_action = cc.moveBy(1, -100, 0);
  182. var endLev = cc.callFunc(this.endLevel,this);
  183. this.mPlayer.runAction(cc.sequence(cc.delayTime(1),sprite_action,endLev));
  184. }
  185. });
  186.  
  187. var gameSceneLvl5 = cc.Scene.extend({
  188. onEnter:function ()
  189. {
  190. this._super();
  191.  
  192. if (INIT_LEVEL5 == false)
  193. {
  194. GameVars.canMove = true;
  195. INIT_LEVEL5 = true;
  196. var gameLay = new level5();
  197. this.addChild(gameLay);
  198. }
  199. }
  200. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement