Add: prev and next animal icon image in typing practice

This commit is contained in:
2018-09-17 08:39:33 +09:00
parent fe6f3c3c25
commit 974bd8e255
4 changed files with 51 additions and 31 deletions
+24 -16
View File
@@ -4,6 +4,21 @@ function Animal(type, x, y) {
this.sprite = null;
this.posX = x;
this.posY = y;
this.sprite = game.add.sprite(this.posX, this.posY); //, "snail_run1"); // this.spriteFrameNames.run1);
this.sprite.anchor.set(0.5);
}
Animal.prototype.setIconSprite = function(species) {
this.setSpecies(species);
this.spriteFrameNames = this.loadSpriteNames();
this.sprite.loadTexture(this.spriteFrameNames.run1);
}
Animal.prototype.setSpecies = function(species) {
this.species = species;
}
Animal.prototype.loadSpriteNames = function() {
@@ -17,15 +32,11 @@ Animal.prototype.loadSpriteNames = function() {
return spriteNames;
}
Animal.prototype.setSpecies = function(species) {
this.species = species;
if(this.animalType === Animal.TYPE_ICON)
return;
this.setupAnimation();
Animal.prototype.setAlpha = function(value) {
this.sprite.alpha = value;
}
Animal.prototype.tweenAnimation = function(animationType) {
switch(animationType) {
case Animal.ANIMATION_TYPE_CHANGE:
@@ -41,7 +52,6 @@ Animal.prototype.tweenAnimation = function(animationType) {
break;
}
}
Animal.prototype.setupAnimation = function() {
@@ -50,18 +60,14 @@ Animal.prototype.setupAnimation = function() {
this.animationFrameID = 1;
this.animationSpeedSec = 1000 / this.species.runningFPS;
if(this.sprite === null) {
this.sprite = game.add.sprite(this.posX, this.posY, this.spriteFrameNames.run1);
this.sprite.anchor.set(0.5);
this.sprite.width = 150;
this.sprite.height = 150;
}
this.stopAnimation();
this.animateionUpdate();
}
Animal.prototype.startAnimation = function() {
Animal.prototype.startAnimation = function(species) {
this.setSpecies(species);
this.setupAnimation();
if(this.timerEvent === null)
this.timerEvent = game.time.events.loop(this.animationSpeedSec, this.animateionUpdate, this);
}
@@ -74,6 +80,8 @@ Animal.prototype.animateionUpdate = function() {
} else {
this.sprite.loadTexture(this.spriteFrameNames.run1);
}
this.sprite.width = 150;
this.sprite.height = 150;
}
Animal.prototype.stopAnimation = function() {
+2 -4
View File
@@ -74,14 +74,12 @@ var Result = {
animalLevelID = Animal.animalLevelIDByRecord(sessionStorageManager.getRecord(), Animal.TYPE_PRACTICE);
else
animalLevelID = Animal.animalLevelIDByRecord(sessionStorageManager.getRecord(), Animal.TYPE_TEST);
leftAnimal.setSpecies(Animal.SPECIES_DATA[animalLevelID]);;
// leftAnimal.tweenAnimation(Animal.ANIMATION_TYPE_CHANGE);
leftAnimal.startAnimation();
leftAnimal.startAnimation(Animal.SPECIES_DATA[animalLevelID]);
var rightAnimal = new Animal(Animal.TYPE_ANIMATION, game.world.centerX + 200, 150);
rightAnimal.setSpecies(Animal.SPECIES_DATA[animalLevelID]);;
// rightAnimal.tweenAnimation(Animal.ANIMATION_TYPE_CHANGE);
rightAnimal.startAnimation();
rightAnimal.startAnimation(Animal.SPECIES_DATA[animalLevelID]);
}
var scoreText = game.add.text(
+23 -7
View File
@@ -19,9 +19,16 @@ var TypingPractice = {
// this.animalOnTitle = new Animal(Animal.TYPE_ON_TITLE, game.world.centerX - 200, 30);
this.animalOnTitle = new Animal(Animal.TYPE_ON_TITLE, game.world.centerX, 90);
this.animalOnTitle.setSpecies(Animal.SPECIES_DATA[0]);
this.animalOnTitle.startAnimation();
this.animalOnTitle = new Animal(Animal.TYPE_ON_TITLE, game.world.centerX, 100);
this.animalOnTitle.startAnimation(Animal.SPECIES_DATA[0]);
this.animalPrev = new Animal(Animal.TYPE_ICON, game.world.centerX - 200, 100);
this.animalPrev.setIconSprite(Animal.SPECIES_DATA[0]);
this.animalPrev.setAlpha(0);
this.animalNext = new Animal(Animal.TYPE_ICON, game.world.centerX + 200, 100);
this.animalNext.setIconSprite(Animal.SPECIES_DATA[1]);
this.animalNext.setAlpha(0.3);
this.typingScore = new TypingScore();
@@ -357,11 +364,21 @@ var TypingPractice = {
if(this.isKeyPressed(inputContent, typingContent)) {
this.typingScore.increase();
var animalLevelID = Animal.animalLevelIDByRecord(this.typingScore.score(), Animal.TYPE_PRACTICE);
console.log(animalLevelID);
console.log(this.playingAnimalIndex);
if(animalLevelID > this.playingAnimalIndex) {
this.playingAnimalIndex = animalLevelID;
this.animalOnTitle.setSpecies(Animal.SPECIES_DATA[this.playingAnimalIndex]);;
this.animalOnTitle.startAnimation(Animal.SPECIES_DATA[this.playingAnimalIndex]);
this.animalOnTitle.tweenAnimation(Animal.ANIMATION_TYPE_CHANGE);
this.animalOnTitle.startAnimation();
if(this.playingAnimalIndex == 1)
this.animalPrev.setAlpha(0.3);
this.animalPrev.setIconSprite(Animal.SPECIES_DATA[this.playingAnimalIndex - 1]);
if(this.playingAnimalIndex == Animal.SPECIES_DATA.length - 1)
this.animalNext.setAlpha(0);
else
this.animalNext.setIconSprite(Animal.SPECIES_DATA[this.playingAnimalIndex + 1]);
}
this.playNextContent();
@@ -372,8 +389,7 @@ var TypingPractice = {
this.typingScore.reset();
this.playingAnimalIndex = 0;
this.animalOnTitle.setSpecies(Animal.SPECIES_DATA[this.playingAnimalIndex]);;
this.animalOnTitle.startAnimation();
this.animalOnTitle.startAnimation(Animal.SPECIES_DATA[this.playingAnimalIndex]);
this.animalOnTitle.tweenAnimation(Animal.ANIMATION_TYPE_DAMAGE);
}
},
+2 -4
View File
@@ -19,8 +19,7 @@ var TypingTest = {
// this.animalOnTitle = new Animal(Animal.TYPE_ON_TITLE, game.world.centerX - 200, 30);
this.animalOnTitle = new Animal(Animal.TYPE_ON_TITLE, game.world.centerX, GAME_SCREEN_SIZE.y - 110);
this.animalOnTitle.setSpecies(Animal.SPECIES_DATA[0]);
this.animalOnTitle.startAnimation();
this.animalOnTitle.startAnimation(Animal.SPECIES_DATA[0]);
this.averageTypingSpeedText = new AverageTypingSpeed();
@@ -397,9 +396,8 @@ var TypingTest = {
// console.log('-----------------------------------');
let animalLevelID = Animal.animalLevelIDByRecord(typingRecordTotalInteger, Animal.TYPE_TEST);
this.animalOnTitle.setSpecies(Animal.SPECIES_DATA[animalLevelID]);;
this.animalOnTitle.startAnimation(Animal.SPECIES_DATA[animalLevelID]);
this.animalOnTitle.tweenAnimation(Animal.ANIMATION_TYPE_CHANGE);
this.animalOnTitle.startAnimation();
},