Skip to content
Snippets Groups Projects
Commit b1b2cfcc authored by K8573's avatar K8573
Browse files

asd

parent e4fa2aef
No related branches found
No related tags found
No related merge requests found
Showing
with 197 additions and 0 deletions
public/phaser-harkat/phaser-tutoriaali/assets/bomb.png

495 B

public/phaser-harkat/phaser-tutoriaali/assets/dude.png

3.15 KiB

public/phaser-harkat/phaser-tutoriaali/assets/platform.png

14.6 KiB

public/phaser-harkat/phaser-tutoriaali/assets/sky.png

4.65 KiB

public/phaser-harkat/phaser-tutoriaali/assets/star.png

443 B

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Making your first Phaser 3 Game - Part 1</title>
<script src="//cdn.jsdelivr.net/npm/phaser@3.11.0/dist/phaser.js"></script>
<style type="text/css">
body {
margin: 0;
}
</style>
</head>
<body>
<script type="text/javascript">
var config = {
type: Phaser.AUTO,
width: 800,
height: 600,
physics: {
default: 'arcade',
arcade: {
gravity: { y: 300 },
debug: false
}
},
scene: {
preload: preload,
create: create,
update: update
}
};
var score = 0;
var scoreText;
var game = new Phaser.Game(config);
function preload ()
{
//ladataan alussa, ei vielä näytetä mitään
this.load.image('sky', 'assets/sky.png');
this.load.image('ground', 'assets/platform.png');
this.load.image('star', 'assets/star.png');
this.load.image('bomb', 'assets/bomb.png');
this.load.spritesheet('dude',
'assets/dude.png',
{ frameWidth: 32, frameHeight: 48 }
);
}
function create ()
{
//lisätään grafiikka peliin
this.add.image(400, 300, 'sky');
//
platforms = this.physics.add.staticGroup();
platforms.create(400, 568, 'ground').setScale(2).refreshBody();
platforms.create(600, 400, 'ground');
platforms.create(50, 250, 'ground');
platforms.create(750, 220, 'ground');
//luodaan pelaaja
player = this.physics.add.sprite(100, 450, 'dude');
//määritellään fysiikat
player.setBounce(0.2); //pelaaja pomppii kun osuu maahan
player.setCollideWorldBounds(true); //estetään pääsy pelimaailman ulkopuolelle
player.body.setGravityY(500); //simuloidaan painovoimaa
//määritetään animaatiot
//pelihahmo ladattu spritesheettinä, joten määritetään mitä frameja käytetään
this.anims.create({
key: 'left',
frames: this.anims.generateFrameNumbers('dude', { start: 0, end: 3 }),
frameRate: 10,
repeat: -1
});
this.anims.create({
key: 'turn',
frames: [ { key: 'dude', frame: 4 } ],
frameRate: 20
});
this.anims.create({
key: 'right',
frames: this.anims.generateFrameNumbers('dude', { start: 5, end: 8 }),
frameRate: 10,
repeat: -1
});
//collision-testi
this.physics.add.collider(player, platforms);
//input
cursors = this.input.keyboard.createCursorKeys();
stars = this.physics.add.group({
key: 'star',
repeat: 11,
setXY: { x: 12, y: 0, stepX: 70 }
});
stars.children.iterate(function (child) {
child.setBounceY(Phaser.Math.FloatBetween(0.4, 0.8));
});
//tähtien collisionit
this.physics.add.collider(stars, platforms);
this.physics.add.overlap(player, stars, collectStar, null, this);
//score
scoreText = this.add.text(16, 16, 'score: 0', { fontSize: '32px', fill: '#000', fontFamily: 'arial' });
//viholliset
bombs = this.physics.add.group();
this.physics.add.collider(bombs, platforms);
this.physics.add.collider(player, bombs, hitBomb, null, this);
}
function update ()
{
//perusliikkuminen,
if (cursors.left.isDown)
{
player.setVelocityX(-300);
player.anims.play('left', true);
}
else if (cursors.right.isDown)
{
player.setVelocityX(300);
player.anims.play('right', true);
}
else
{
player.setVelocityX(0);
player.anims.play('turn');
}
if (cursors.up.isDown && player.body.touching.down)
{
player.setVelocityY(-630);
}
}
//pelaajan ja tähden collision => poistetaan tähti ja annetaan pisteitä
function collectStar (player, star)
{
star.disableBody(true, true);
score += 10;
scoreText.setText('Score: ' + score);
//mikäli tähtiä ei jäljellä, spawnataan pommit ja päästetään helvetti irti
if (stars.countActive(true) === 0)
{
stars.children.iterate(function (child) {
child.enableBody(true, child.x, 0, true, true);
});
var x = (player.x < 400) ? Phaser.Math.Between(400, 800) : Phaser.Math.Between(0, 400);
var bomb = bombs.create(x, 16, 'bomb');
bomb.setBounce(1);
bomb.setCollideWorldBounds(true);
bomb.setVelocity(Phaser.Math.Between(-200, 200), 20);
}
}
//pelaajan ja pommin collision
function hitBomb (player, bomb)
{
this.physics.pause();
player.setTint(0xff0000);
player.anims.play('turn');
gameOver = true;
}
</script>
</body>
</html>
\ No newline at end of file
public/phaser-harkat/phaser-udemy/assets/backgrounds/sunset.png

75.5 KiB

File added
File added
public/phaser-harkat/phaser-udemy/assets/sprites/armeija_apustus.png

12.8 KiB

public/phaser-harkat/phaser-udemy/assets/sprites/arrow.png

4.64 KiB

public/phaser-harkat/phaser-udemy/assets/sprites/rakenus_apustus.jpg

17.5 KiB

public/phaser-harkat/phaser-udemy/assets/sprites/saber.png

1.63 KiB

public/phaser-harkat/phaser-udemy/assets/sprites/täräntänkö.jpg

11.7 KiB

public/phaser-harkat/phaser-udemy/assets/spritesheets/saberSheet.png

22.3 KiB

public/phaser-harkat/phaser-udemy/assets/tilemaps/grass.png

480 B

public/phaser-harkat/phaser-udemy/assets/tilemaps/ground.png

426 B

public/phaser-harkat/phaser-udemy/assets/tilemaps/lava.png

432 B

public/phaser-harkat/phaser-udemy/assets/tilemaps/lavarock.png

438 B

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment