Music and Sound Effects
This commit is contained in:
parent
f409413e8d
commit
23940c0dbd
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -39,13 +39,24 @@ export class GameScene extends Phaser.Scene {
|
||||||
}
|
}
|
||||||
|
|
||||||
preload() {
|
preload() {
|
||||||
|
// Jewels
|
||||||
this.load.spritesheet('jewels', 'assets/jewels.png', {
|
this.load.spritesheet('jewels', 'assets/jewels.png', {
|
||||||
frameWidth: 100,
|
frameWidth: 100,
|
||||||
frameHeight: 100
|
frameHeight: 100
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Fonts
|
||||||
this.load.font('cruiser', 'assets/NEUROPOL.ttf');
|
this.load.font('cruiser', 'assets/NEUROPOL.ttf');
|
||||||
this.load.font('code', 'assets/CodePredators-Regular.otf');
|
this.load.font('code', 'assets/CodePredators-Regular.otf');
|
||||||
|
|
||||||
|
// Music
|
||||||
|
this.load.audio('goblin-music', 'assets/goblin-music.mp3');
|
||||||
|
this.load.audio('beach-music', 'assets/beach-music.mp3');
|
||||||
|
this.load.audio('clear', 'assets/clear.mp3');
|
||||||
|
this.load.audio('level-up', 'assets/level-up.mp3');
|
||||||
|
this.load.audio('switch', 'assets/switch.mp3');
|
||||||
|
|
||||||
|
// Ally Videos
|
||||||
this.load.video('goblin-resting', 'assets/goblin-resting.mp4');
|
this.load.video('goblin-resting', 'assets/goblin-resting.mp4');
|
||||||
this.load.video('goblin-excited', 'assets/goblin-excited.mp4');
|
this.load.video('goblin-excited', 'assets/goblin-excited.mp4');
|
||||||
this.load.video('goblin-pleased', 'assets/goblin-pleased.mp4');
|
this.load.video('goblin-pleased', 'assets/goblin-pleased.mp4');
|
||||||
|
|
@ -61,6 +72,11 @@ export class GameScene extends Phaser.Scene {
|
||||||
this.physics.add.collider(this.jewels, this.jewels);
|
this.physics.add.collider(this.jewels, this.jewels);
|
||||||
this.createStart();
|
this.createStart();
|
||||||
|
|
||||||
|
// Background Music
|
||||||
|
this.bgMusic = this.sound.add('goblin-music', { volume: 0.5 });
|
||||||
|
this.bgMusic.loop = true;
|
||||||
|
this.bgMusic.play();
|
||||||
|
|
||||||
// Create the score text
|
// Create the score text
|
||||||
this.scoreText = this.add.text(20, 50, 'Score: 0', {
|
this.scoreText = this.add.text(20, 50, 'Score: 0', {
|
||||||
fontFamily: 'cruiser, arial',
|
fontFamily: 'cruiser, arial',
|
||||||
|
|
@ -328,6 +344,7 @@ export class GameScene extends Phaser.Scene {
|
||||||
}
|
}
|
||||||
// Set swapping flag to prevent new clicks from being processed
|
// Set swapping flag to prevent new clicks from being processed
|
||||||
this.isSwapping = true;
|
this.isSwapping = true;
|
||||||
|
this.sound.play('switch');
|
||||||
|
|
||||||
// Disable all jewel interactivity temporarily
|
// Disable all jewel interactivity temporarily
|
||||||
this.jewels.children.iterate((jewel) => {
|
this.jewels.children.iterate((jewel) => {
|
||||||
|
|
@ -387,6 +404,7 @@ export class GameScene extends Phaser.Scene {
|
||||||
this.matchesNeeded = newLevel.matchesNeeded;
|
this.matchesNeeded = newLevel.matchesNeeded;
|
||||||
this.moveInterval = newLevel.moveInterval;
|
this.moveInterval = newLevel.moveInterval;
|
||||||
this.LevelText.setText(`Level: ${this.level}`);
|
this.LevelText.setText(`Level: ${this.level}`);
|
||||||
|
this.sound.play('level-up');
|
||||||
|
|
||||||
// Create the New Level text
|
// Create the New Level text
|
||||||
const newLevelText = this.add.text(1150, 250, `Level ${this.level}`, {
|
const newLevelText = this.add.text(1150, 250, `Level ${this.level}`, {
|
||||||
|
|
@ -559,6 +577,8 @@ export class GameScene extends Phaser.Scene {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
this.sound.play('clear');
|
||||||
|
|
||||||
// Animate destruction
|
// Animate destruction
|
||||||
jewelsToDestroy.forEach((jewel) => {
|
jewelsToDestroy.forEach((jewel) => {
|
||||||
this.tweens.add({
|
this.tweens.add({
|
||||||
|
|
|
||||||
|
|
@ -13,5 +13,30 @@ export const LEVEL_CONFIG = {
|
||||||
numberOfJewels: 5,
|
numberOfJewels: 5,
|
||||||
matchesNeeded: 12,
|
matchesNeeded: 12,
|
||||||
moveInterval: 11000
|
moveInterval: 11000
|
||||||
|
},
|
||||||
|
4: {
|
||||||
|
numberOfJewels: 5,
|
||||||
|
matchesNeeded: 12,
|
||||||
|
moveInterval: 10000
|
||||||
|
},
|
||||||
|
5: {
|
||||||
|
numberOfJewels: 5,
|
||||||
|
matchesNeeded: 12,
|
||||||
|
moveInterval: 9000
|
||||||
|
},
|
||||||
|
6: {
|
||||||
|
numberOfJewels: 5,
|
||||||
|
matchesNeeded: 12,
|
||||||
|
moveInterval: 8000
|
||||||
|
},
|
||||||
|
7: {
|
||||||
|
numberOfJewels: 5,
|
||||||
|
matchesNeeded: 12,
|
||||||
|
moveInterval: 7000
|
||||||
|
},
|
||||||
|
8: {
|
||||||
|
numberOfJewels: 5,
|
||||||
|
matchesNeeded: 12,
|
||||||
|
moveInterval: 6000
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue