Я разрабатываю игру, в которой игроку будет дано 4 звука, и он должен угадать, что общего у этих звуков. Она работает точно так же, как игра «4 картинки 1 слово», но вместо картинок игрок должен угадывать звуки.
Пользователь должен нажать клавишу 1,2,3 и 4, чтобы услышать звуки. Как только игрок услышал звуки, игрок должен угадать, что общего у этих звуков. Как мне закодировать часть, где после того, как игрок услышал звук 4, он должен ввести слово, чтобы угадать его?
Например, на уровне 1 игроку будут даны звуки кошки, собаки, попугая и хомяка, и он должен угадать общее между этими четырьмя звуками. Игрок, услышав звуки, будет уведомлен о том, что слово состоит из 3 букв, и он должен угадать, что это такое. Если, скажем, игрок вставит букву «Е», то «Е» будет вставлено в пропущенное слово, и игроку нужно будет угадать оставшиеся слова. Правильным словом для этого будет «ПЭТ». Как это закодировать в Phaser?
(Кстати, в игре нет графики или анимации, потому что она предназначена для слепых пользователей).
Я получаю сообщение об ошибке "Uncaught SyntaxError: Unexpected token{" в строке "if (game.input.keyboard.isDown(Phaser.Keyboard.P) {"
Вход, который я все еще пытаюсь воспроизвести, услышав, что четыре звука не работают. Я понятия не имею, где я ошибся.
Мой код:
var game = new Phaser.Game(400,490, Phaser.AUTO, 'gameDiv');
var key1;
var key2;
var key3;
var key4;
var speech;
var level1;
var PCorrect;
var ECorrect;
var TCorrect;
var TryAgain;
var mainState = {
preload: function() {
game.stage.backgroundColor ='#71c5cf'
game.load.audio('the_intro', 'assets/speech_intro.wav');
game.load.audio('start', 'assets/cat_meow.wav');
game.load.audio('second', 'assets/dog_bark.wav');
game.load.audio('third', 'assets/mouse_squeak.wav');
game.load.audio('fourth', 'assets/parrot.wav');
game.load.audio('default' , 'assets/wrong_key.wav');
game.load.audio('levelPet' , 'assets/GuessPet.wav');
game.load.audio('P', 'assets/PforPet.wav');
game.load.audio('T', 'assets/TforPet.wav');
game.load.audio('E', 'assets/EforPet.wav');
game.load.audio('Try','assets/WrongAnswer.wav');
},
create: function() {
//introduction narration
speech = game.add.audio('the_intro');
speech.play();
//Sound added 1st
this.meowSound = game.add.audio('start');
this.barkSound = game.add.audio('second');
this.softSound = game.add.audio('third');
this.talkingSound = game.add.audio('fourth');
this.noSound = game.add.audio('default');
//Call the sound when the key is pressed
var self = this;
game.input.keyboard.onDownCallback = function(e) {
var keycode = e.keycode || e.which;
switch(keycode) {
case Phaser.Keyboard.ONE:
self.addCat();
break;
case Phaser.Keyboard.TWO:
self.addDog();
break;
case Phaser.Keyboard.THREE:
self.addMouse();
break;
case Phaser.Keyboard.FOUR:
self.addParrot();
level1 = game.add.audio('levelPet');
level1.play();
break;
default:
self.addOthers();
break;
break;
}
}
},
update: function(){
this.PLevel1 = game.add.audio('P');
this.ELevel1 = game.add.audio('E');
this.TLevel1 = game.add.audio('T');
this.WrongAns = game.add.audion('Try');
var self = this;
if (acceptInput) {
if (game.input.keyboard.isDown(Phaser.Keyboard.P) {
self.addP();
} else if (game.input.keyboard.isDown(Phaser.Keyboard.E)) {
self.addE();
} else if (game.input.keyboard.isDown(Phaser.Keyboard.T)) {
self.addT();
}
else
{
self.addWrong();
}
}
}
addCat: function() {
this.meowSound.play();
},
addDog: function() {
this.barkSound.play();
},
addMouse: function() {
this.softSound.play();
},
addParrot: function() {
this.talkingSound.play();
},
addOthers: function() {
this.noSound.play();
},
addP: function() {
this.PLevel1.play();
}
addE: function() {
this.ELevel1.play();
}
addT: function() {
this.TLevel1.play();
}
addWrong: function() {
this.WrongAns.play();
}
};
game.state.add('main', mainState);
game.state.start('main');
)
- person jaket   schedule 21.09.2014