Changeset 8433 for 2016/koodauskerho/OttoK/JSPhaser
- Timestamp:
- 2017-05-20 14:43:59 (4 years ago)
- Location:
- 2016/koodauskerho/OttoK/JSPhaser/JSPhaser
- Files:
-
- 2 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
2016/koodauskerho/OttoK/JSPhaser/JSPhaser/index.html
r8428 r8433 3 3 <head> 4 4 <meta charset="UTF-8" /> 5 <title> Ensimmäinen Javascript Phaser-peli</title>5 <title>∞</title> 6 6 <script type="text/javascript" src="phaser.min.js"></script> 7 7 <script type="text/javascript" src="pong.js"></script> -
2016/koodauskerho/OttoK/JSPhaser/JSPhaser/pong.js
r8428 r8433 1 var leveys = 1920; 2 var korkeus = 974; 1 var tekoalyPaalla = true; 2 var leveys = 800; 3 var korkeus = 600; 3 4 var nopeus = 200; 4 5 var p1Pisteet = 0; 5 6 var p2Pisteet = 0; 6 var tekstinTyyli = { font: "bold 64px Arial", fill: "#00FF33", boundsAlignH: "center", boundsAlignV: "middle" };7 7 var game = new Phaser.Game(leveys, korkeus, Phaser.CANVAS, 'pong', { preload: lataus, create: luonti, update: paivitys }); 8 var tekstinTyyli = { font: "bold 32px Arial", fill: "#fff", boundsAlignH: "center", boundsAlignV: "middle" }; 8 9 9 10 function lataus() { 11 game.load.image('pallo','Kuvat/Pallokuva.png'); 10 12 } 11 13 12 14 function luonti() { 15 game.physics.startSystem(Phaser.Physics.ARCADE); 13 16 game.stage.backgroundColor = "#000000"; 14 salliKuuntelu(); 15 game.physics.startSystem(Phaser.Physics.ARCADE); 16 var kuva = luoPallonKuva(32, "#00FF33"); 17 pallo = luoOlio(leveys/2, korkeus/2, kuva); 18 pallo.body.onWorldBounds = new Phaser.Signal(); 19 pallo.body.onWorldBounds.add(tormasiSeinaan); 20 pallo.body.setCircle(32); 21 pallo.body.bounce.set(1); 22 pallo.body.velocity = new Phaser.Point(750, 45); 23 var mailanKuva = luoKuva(32, 128, "#00FF33"); 24 maila1 = luoOlio(leveys - 32, korkeus/2, mailanKuva); 25 maila1.body.immovable = true; 26 maila2 = luoOlio(0+32, korkeus/2, mailanKuva); 27 maila2.body.immovable = true; 28 p1Pistenaytto = luoTeksti(leveys * 0.8, korkeus * 0.15, "0"); 29 p2Pistenaytto = luoTeksti(leveys * 0.2, korkeus * 0.15, "0"); 17 salliKuuntelu(); 18 pallo = luoOlio(leveys/2, korkeus/2, 'pallo'); 19 pallo.body.bounce.set(1); 20 pallo.body.velocity = new Phaser.Point(150, 0); 21 pallo.body.onWorldBounds = new Phaser.Signal(); 22 pallo.body.onWorldBounds.add(tormasiSeinaan); 23 pallo.body.setCircle(32); 24 25 pallo.body.angularVelocity = 500; 26 27 var mailanKuva = luoKuva(32, 128, "#FFFFFF"); 28 maila1 = luoOlio(leveys - 32, korkeus/2, mailanKuva); 29 maila1.body.immovable = true; 30 31 maila2 = luoOlio(0 + 32, korkeus/2, mailanKuva); 32 maila2.body.immovable = true; 33 34 p1Pistenaytto = luoTeksti(leveys * 0.8, korkeus * 0.15, "0"); 35 p2Pistenaytto = luoTeksti(leveys * 0.2, korkeus * 0.15, "0"); 36 30 37 31 38 } 32 39 33 function paivitys() { 34 game.physics.arcade.collide(pallo, maila1); 35 game.physics.arcade.collide(pallo, maila2); 36 37 if (speedButton.isDown) { 38 pallo.body.velocity.x = pallo.body.velocity.x * 1.01; 39 } 40 41 tarkistaLiike(maila1, cursors.up, cursors.down); 42 tarkistaLiike(maila2, wButton, sButton); 40 41 function luoTeksti(x, y, teksti){ 42 var text = game.add.text(x, y, teksti, tekstinTyyli); 43 44 return text; 43 45 } 44 46 45 function luoOlio(x, y, kuva){ 46 var olio = game.add.sprite(x, y, kuva); 47 olio.anchor.x = 0.5; 48 olio.anchor.y = 0.5; 49 game.physics.enable(olio, Phaser.Physics.ARCADE); 50 olio.body.collideWorldBounds = true; 51 return olio; 52 53 47 48 function tormasiSeinaan(tormaaja, ylos, alas, vasen, oikea){ 49 if(vasen){ 50 tormaaja.body.position = new Phaser.Point(leveys/2, korkeus/2); 51 p1Pisteet++; 52 p1Pistenaytto.text = ""+p1Pisteet; 53 } 54 if(oikea){ 55 tormaaja.body.position = new Phaser.Point(leveys/2, korkeus/2); 56 p2Pisteet++; 57 p2Pistenaytto.text = ""+p2Pisteet; 58 } 54 59 } 60 55 61 56 62 function salliKuuntelu(){ … … 58 64 wButton = game.input.keyboard.addKey(Phaser.Keyboard.W); 59 65 sButton = game.input.keyboard.addKey(Phaser.Keyboard.S); 60 speedButton = game.input.keyboard.addKey(Phaser.Keyboard.SPACEBAR);61 66 } 67 68 69 function luoOlio(x, y, kuva){ 70 var olio = game.add.sprite(x,y, kuva); 71 olio.anchor.x = 0.5; 72 olio.anchor.y = 0.5; 73 game.physics.enable(olio, Phaser.Physics.ARCADE); 74 olio.body.collideWorldBounds = true; 75 return olio; 76 } 77 78 62 79 function tarkistaLiike(maila, ylos, alas){ 63 80 if (ylos.isDown) … … 71 88 } 72 89 } 73 function tormasiSeinaan(tormaaja, ylos, alas, vasen, oikea){74 if(vasen){75 tormaaja.body.position = new Phaser.Point(leveys/2, korkeus/2);76 p1Pisteet++;77 p1Pistenaytto.text = ""+p1Pisteet;78 }79 if(oikea){80 tormaaja.body.position = new Phaser.Point(leveys/2, korkeus/2);81 p2Pisteet++;82 p2Pistenaytto.text = ""+p2Pisteet;83 }84 }85 function luoTeksti(x, y, teksti){86 var text = game.add.text(x, y, teksti, tekstinTyyli);87 90 88 return text; 91 function tarkistaOsoitin(osoitin, xRaja, yRaja, ekaLiikutettava, tokaLiikutettava, nopeus){ 92 if(osoitin.isDown){ 93 var suunta = 0.0; 94 if (osoitin.position.y > yRaja){ 95 suunta = 1.0; 96 } 97 else{ 98 suunta = -1.0; 99 } 100 if(osoitin.position.x > xRaja){ 101 ekaLiikutettava.body.velocity.y = suunta * nopeus; 102 } 103 else{ 104 tokaLiikutettava.body.velocity.y = suunta * nopeus; 105 } 106 } 89 107 } 90 108 91 109 110 function kasitteleTekoaly(maila, kohde, liikutusNopeus){ 111 var suunta = 0.0; 112 113 //if (maila.y > kohde.y){ 114 // suunta = -1.0; 115 //} 116 //else{ 117 // suunta = 1.0; 118 //} 119 suunta = (kohde.y - maila.y) / (korkeus * 0.01); 120 suunta = Math.min(suunta, 1.0); 121 suunta = Math.max(suunta, -1.0); 122 maila.body.velocity.y = suunta * nopeus; 123 } 92 124 93 125 94 126 function paivitys() { 127 game.physics.arcade.collide(pallo, maila1); 128 game.physics.arcade.collide(pallo, maila2); 129 130 131 tarkistaLiike(maila1, cursors.up, cursors.down); 132 if(!tekoalyPaalla){ 133 tarkistaLiike(maila2, wButton, sButton); 134 } 135 else{ 136 kasitteleTekoaly(maila2, pallo, nopeus); 137 } 138 139 tarkistaOsoitin(game.input.mousePointer, leveys/2, korkeus/2, maila1, maila2, nopeus); 140 tarkistaOsoitin(game.input.pointer1, leveys/2, korkeus/2, maila1, maila2, nopeus); 141 tarkistaOsoitin(game.input.pointer2, leveys/2, korkeus/2, maila1, maila2, nopeus); 142 }
Note: See TracChangeset
for help on using the changeset viewer.