var width = window.innerWidth; var height = window.innerHeight; var PI=Math.PI; var absoluteBaseSpeed=200; var baseSpeed=absoluteBaseSpeed; console.log(width,height); var tqwidth = (width*0.75)|0 var tqwbase = (((width-tqwidth)/2)) var opponentcount=60; var opponentpause=10; var opponentspeedfactor=0.75; var fatdownloadsize=130; var score=0; var fatscore=0; var fatrisk=false; var stext; var fstext; var fdcs=15; var game = new Phaser.Game(width, height, Phaser.CANVAS, 'gameContainer', { preload: preload, create: create, update: update, render: render }); function preload() { game.load.image('player', 'player.png'); game.load.image('opponent', 'opponent.png'); game.load.image('opponent2', 'opponent2.png'); game.load.image('opponent2b', 'opponent2b.png'); game.load.image('background', 'background.png'); } var player; var pad; var opponents=[]; var fatdownload=[]; var bg; function create() { game.physics.startSystem(Phaser.Physics.ARCADE); game.stage.backgroundColor = '#000000'; //calc 3/4 width; console.log("TQWBase",tqwbase); bg = game.add.tileSprite(tqwbase, 0, tqwidth, height, 'background'); //bg.fixedToCamera = true; player = game.add.sprite((width/2)-16,height-200,'player') this.game.physics.enable(player, Phaser.Physics.ARCADE); player.body.drag.set(0.2); player.body.maxVelocity.setTo(400, 400); player.body.collideWorldBounds = true; game.input.gamepad.start(); initOpponents(); //falls pad nicht funktioniert mittels GamepadDebug sample schauen welches pad das aktive ist und entsprechend umcoden pad = game.input.gamepad.pad1; pad.addCallbacks(this, { onConnect: addButtons }); stext = game.add.text(10, 40, "Packets:0",{ font: "30px arial", fill: "#ff0044", align: "center" }); fstext = game.add.text(10, 80, "Fat downloads:0",{ font: "30px arial", fill: "#ff0044", align: "center" }); } function initOpponents() { for(var oc=0;oc=tqwbase) { vx=-baseSpeed*af; } } 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) { var af=0; if(pad.isDown(Phaser.Gamepad.XBOX360_DPAD_RIGHT)) { af=1.0; } if(pad.axis(Phaser.Gamepad.XBOX360_STICK_LEFT_X) > 0.1) { af= pad.axis(Phaser.Gamepad.XBOX360_STICK_LEFT_X) } if(pad.axis(Phaser.Gamepad.XBOX360_STICK_RIGHT_X) > 0.1) { af= pad.axis(Phaser.Gamepad.XBOX360_STICK_RIGHT_X) } if(player.x<=(width-tqwbase-32)) { vx=baseSpeed; } } /* 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) { vy=-baseSpeed; } 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) { vy=baseSpeed; } */ player.body.velocity.x=vx; //player.body.velocity.y=vy; } for(var opcol=0;opcol-50&&opn.y<(height-opn.height)) { opn.body.velocity.y=baseSpeed*opponentspeedfactor; } if(opn.x(width-tqwbase-opn.width)) { opn.body.velocity.x=0; } if(opn.y>height) { score++; opn.y=-100; } game.physics.arcade.collide(player, opn, gameover, function(){return true}, this); } if(ocb%opponentpause==0) { var nxoidx = (ocb/opponentpause)|0; console.log(nxoidx); var nxo = opponents[nxoidx] if(nxo.y<-50||nxo.y>height) { //console.log(ocb); nxo.y=-30; nxo.x=game.rnd.between(tqwbase,tqwbase+tqwidth-nxo.width); console.log(nxo.x); nxo.body.velocity.y=baseSpeed*opponentspeedfactor; nxo.body.velocity.x=0; var fff = game.rnd.between(0,1000); if(fff<50) { nxo.body.velocity.x=fff-50; } if(fff>950) { nxo.body.velocity.x=fff-950; } } //ocb++; } ocb=(ocb+1)%(opponentcount*opponentpause); var fdc = game.rnd.between(0,1000); if(fdc>500&&fatdownload[0].y<-50) { var fdcolumn = game.rnd.between(tqwbase,tqwbase+tqwidth-fatdownload[0].width); for(var fc=0;fc-50)//fatdownload transferierend { for(var fcc=0;fccheight-200 &&!fatrisk&&fatdownload[fatdownloadsize-1].y=(width-tqwbase-(tqwidth*0.2)|0)&&player.x>fx) { fatrisk=true; fatscore+=9; } } } if(fatdownload[fatdownloadsize-1].y>height) { fatscore++; fatrisk=false; for(var fc=0;fc