1.js 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. var width = window.innerWidth;
  2. var height = window.innerHeight;
  3. var PI=Math.PI;
  4. var baseSpeed=200;
  5. console.log(width,height);
  6. var tqwidth = (width*0.75)|0
  7. var tqwbase = (((width-tqwidth)/2))
  8. var opponentcount=60;
  9. var opponentpause=10;
  10. var opponentspeed=150;
  11. var fatdownloadsize=200;
  12. var game = new Phaser.Game(width, height, Phaser.CANVAS, 'gameContainer', { preload: preload, create: create, update: update, render: render });
  13. function preload() {
  14. game.load.image('player', 'player.png');
  15. game.load.image('opponent', 'opponent.png');
  16. game.load.image('opponent2', 'opponent2.png');
  17. game.load.image('background', 'background.png');
  18. }
  19. var player;
  20. var pad;
  21. var opponents=[];
  22. var fatdownload=[];
  23. function create() {
  24. game.physics.startSystem(Phaser.Physics.ARCADE);
  25. game.stage.backgroundColor = '#000000';
  26. //calc 3/4 width;
  27. console.log("TQWBase",tqwbase);
  28. bg = game.add.tileSprite(tqwbase, 0, tqwidth, height, 'background');
  29. //bg.fixedToCamera = true;
  30. player = game.add.sprite((width/2)-16,height-200,'player')
  31. this.game.physics.enable(player, Phaser.Physics.ARCADE);
  32. player.body.drag.set(0.2);
  33. player.body.maxVelocity.setTo(400, 400);
  34. player.body.collideWorldBounds = true;
  35. game.input.gamepad.start();
  36. for(var oc=0;oc<opponentcount;oc++)
  37. {//preseed of opponent cache
  38. var flubberflargh = game.add.sprite(0,-100,'opponent');
  39. this.game.physics.enable(flubberflargh, Phaser.Physics.ARCADE);
  40. flubberflargh.body.drag.set(0.2);
  41. flubberflargh.body.maxVelocity.setTo(400, 400);
  42. opponents[oc]=flubberflargh;
  43. }
  44. for(var fc=0;fc<fatdownloadsize;fc++)
  45. {//preseed of opponent cache
  46. var blubberlutsch = game.add.sprite(0,-100-(10*fc),'opponent2');
  47. this.game.physics.enable(blubberlutsch, Phaser.Physics.ARCADE);
  48. blubberlutsch.body.drag.set(0.2);
  49. blubberlutsch.body.maxVelocity.setTo(400, 400);
  50. fatdownload[fc]=blubberlutsch;
  51. }
  52. //falls pad nicht funktioniert mittels GamepadDebug sample schauen welches pad das aktive ist und entsprechend umcoden
  53. pad = game.input.gamepad.pad1;
  54. pad.addCallbacks(this, { onConnect: addButtons });
  55. }
  56. function addButtons() {
  57. // We can't do this until we know that the gamepad has been connected and is started
  58. buttonA = pad.getButton(Phaser.Gamepad.XBOX360_A);
  59. buttonB = pad.getButton(Phaser.Gamepad.XBOX360_B);
  60. buttonX = pad.getButton(Phaser.Gamepad.XBOX360_X);
  61. buttonY = pad.getButton(Phaser.Gamepad.XBOX360_Y);
  62. buttonA.onDown.add(onDown, this);
  63. buttonB.onDown.add(onDown, this);
  64. buttonX.onDown.add(onDown, this);
  65. buttonY.onDown.add(onDown, this);
  66. buttonA.onUp.add(onUp, this);
  67. buttonB.onUp.add(onUp, this);
  68. buttonX.onUp.add(onUp, this);
  69. buttonY.onUp.add(onUp, this);
  70. }
  71. var ocb = 0;
  72. function update() {
  73. if(pad&&pad._rawPad)
  74. {
  75. var vx =0;
  76. //TODO für später, vielleicht feiner abstufen, deadzone(!!!);
  77. if (pad.isDown(Phaser.Gamepad.XBOX360_DPAD_LEFT) || pad.axis(Phaser.Gamepad.XBOX360_STICK_LEFT_X) < -0.1||pad.axis(Phaser.Gamepad.XBOX360_STICK_RIGHT_X) < -0.1)
  78. {
  79. if(player.x>=tqwbase)
  80. {
  81. vx=-baseSpeed;
  82. }
  83. }
  84. else if (pad.isDown(Phaser.Gamepad.XBOX360_DPAD_RIGHT) || pad.axis(Phaser.Gamepad.XBOX360_STICK_LEFT_X) > 0.1||pad.axis(Phaser.Gamepad.XBOX360_STICK_RIGHT_X) > 0.1)
  85. {
  86. if(player.x<=(width-tqwbase-32))
  87. {
  88. vx=baseSpeed;
  89. }
  90. }
  91. /*
  92. if (pad.isDown(Phaser.Gamepad.XBOX360_DPAD_UP) || pad.axis(Phaser.Gamepad.XBOX360_STICK_LEFT_Y) < -0.1||pad.axis(Phaser.Gamepad.XBOX360_STICK_RIGHT_Y) < -0.1)
  93. {
  94. vy=-baseSpeed;
  95. }
  96. else if (pad.isDown(Phaser.Gamepad.XBOX360_DPAD_DOWN) || pad.axis(Phaser.Gamepad.XBOX360_STICK_LEFT_Y) > 0.1||pad.axis(Phaser.Gamepad.XBOX360_STICK_RIGHT_Y) >0.1)
  97. {
  98. vy=baseSpeed;
  99. }
  100. */
  101. player.body.velocity.x=vx;
  102. //player.body.velocity.y=vy;
  103. }
  104. for(var opcol=0;opcol<opponentcount;opcol++)
  105. {
  106. game.physics.arcade.collide(player, opponents[opcol],
  107. gameover,
  108. function(){return true}, this);
  109. }
  110. if(ocb%opponentpause==0)
  111. {
  112. var nxo = opponents[(ocb/opponentpause)|0]
  113. //console.log(nxo.y);
  114. if(nxo.y<-50||nxo.y>height)
  115. {
  116. //console.log(ocb);
  117. nxo.y=-30;
  118. nxo.x=game.rnd.between(tqwbase,tqwbase+tqwidth-nxo.width);
  119. nxo.body.velocity.y=opponentspeed;
  120. nxo.body.velocity.x=0;
  121. //var fff = game.rnd.between(0,1000);
  122. }
  123. //ocb++;
  124. }
  125. ocb=(ocb+1)%(opponentcount*opponentpause);
  126. var fdc = game.rnd.between(0,1000);
  127. if(fdc>500&&fatdownload[0].y<-50)
  128. {
  129. var fdcolumn = game.rnd.between(tqwbase,tqwbase+tqwidth-fatdownload[0].width);
  130. for(var fc=0;fc<fatdownloadsize;fc++)
  131. {
  132. var fds = fatdownload[fc];
  133. fds.x=fdcolumn
  134. fds.y=fds.y+70;
  135. fds.body.velocity.y=opponentspeed;
  136. }
  137. }
  138. else //fatdownload transferierend
  139. {
  140. for(var fcc=0;fcc<opponentcount;fcc++)
  141. {
  142. game.physics.arcade.collide(player, fatdownload[fcc],
  143. gameover,
  144. function(){return true}, this);
  145. }
  146. }
  147. if(fatdownload[fatdownloadsize-1].y>height)
  148. {
  149. for(var fc=0;fc<fatdownloadsize;fc++)
  150. {
  151. var fds = fatdownload[fc];
  152. fds.x=0
  153. fds.y=-100-(10*fc);
  154. fds.body.velocity.y=0;
  155. }
  156. }
  157. }
  158. function gameover()
  159. {
  160. console.log("Ätschebätsche");
  161. alert("Packet Loss");
  162. }
  163. function onDown(button, value) {
  164. /*
  165. if (button.buttonCode === Phaser.Gamepad.XBOX360_A)
  166. {
  167. //TODO
  168. }
  169. else if (button.buttonCode === Phaser.Gamepad.XBOX360_B)
  170. {
  171. }*/
  172. }
  173. function onUp(button, value) {
  174. /*
  175. if (button.buttonCode === Phaser.Gamepad.XBOX360_A)
  176. {
  177. //TODO
  178. }
  179. else if (button.buttonCode === Phaser.Gamepad.XBOX360_B)
  180. {
  181. }*/
  182. }
  183. function render () {
  184. // game.debug.text(game.time.physicsElapsed, 32, 32);
  185. // game.debug.body(player);
  186. // game.debug.bodyInfo(player, 16, 24);
  187. }