Fix: god and speech bubble
This commit is contained in:
@@ -91,11 +91,6 @@ var Game = {
|
||||
// this.bonusMeat.setActive(false, -100, -100, "");
|
||||
|
||||
|
||||
// speech bubble
|
||||
this.speechBubble = new SpeechBubble(game.world.centerX + 100, game.world.centerY - 160);
|
||||
this.speechBubble.hideSpeechBubble();
|
||||
|
||||
|
||||
var experienceAppTimer = new ExperienceAppTimer();
|
||||
experienceAppTimer.setTimeOverListener(
|
||||
(function() { this.timeOver(); }).bind(this)
|
||||
@@ -268,28 +263,35 @@ var Game = {
|
||||
// console.log("god eat : " + meat);
|
||||
// console.log("meat grade : " + meat.getMeatGrade());
|
||||
|
||||
var meatClassName = meat.getClassName();
|
||||
|
||||
if(meat.getMeatGrade() == Meat.DONENESS_WELLDONE) {
|
||||
this.god.animateHappy(Meat.DONENESS_WELLDONE); // "맛있어♥♡♥");
|
||||
// this.god.animateHappy(Meat.DONENESS_WELLDONE, meatClassName, meat.getTotalCookingTime());
|
||||
this.god.animateHappy(meat);
|
||||
|
||||
// var score = this.getScore();
|
||||
var score = meat.getScore(Meat.DONENESS_WELLDONE);
|
||||
var score = meat.getScore();
|
||||
this.scoreManager.plusScore(score);
|
||||
|
||||
var tempPlusScore = new PlusScore(this.god.x, this.god.y - 180, score);
|
||||
var tempPlusScore = new PlusScore(this.god.x, this.god.y - 250, score);
|
||||
this.plusScoreGroup.add(tempPlusScore);
|
||||
} else if(meat.getMeatGrade() == Meat.DONENESS_RARE) {
|
||||
this.god.animateAngry(Meat.DONENESS_RARE); // "날고기 싫어!!!");
|
||||
// this.god.animateAngryWithRare(Meat.DONENESS_RARE, meatClassName, meat.getTotalCookingTime());
|
||||
this.god.animateAngryWithRare(meat);
|
||||
|
||||
// var score = this.getScore();
|
||||
var score = meat.getScore(Meat.DONENESS_WELLDONE);
|
||||
this.scoreManager.plusScore(score);
|
||||
if(meat.getTotalCookingTime() > 0) {
|
||||
var score = meat.getScore();
|
||||
this.scoreManager.plusScore(score);
|
||||
|
||||
var tempPlusScore = new PlusScore(this.god.x, this.god.y - 180, score);
|
||||
this.plusScoreGroup.add(tempPlusScore);
|
||||
var tempPlusScore = new PlusScore(this.god.x, this.god.y - 250, score);
|
||||
this.plusScoreGroup.add(tempPlusScore);
|
||||
}
|
||||
} else {
|
||||
this.badMeatCount++;
|
||||
|
||||
this.god.animateAngry(Meat.DONENESS_BURN_BLACK); // "탄 고기 안먹어!!!");
|
||||
// this.god.animateAngryWithBurnBlack(Meat.DONENESS_BURN_BLACK, meatClassName, meat.getTotalCookingTime());
|
||||
this.god.animateAngryWithBurnBlack(meat);
|
||||
/*
|
||||
if(meat.getMeatGrade() == Meat.DONENESS_RARE) {
|
||||
this.god.animateAngry(Meat.DONENESS_RARE); // "날고기 싫어!!!");
|
||||
@@ -301,7 +303,7 @@ var Game = {
|
||||
|
||||
meat.setActive(false, -100, -100, '');
|
||||
|
||||
if(meat.getClassName() == NormalMeat.CLASS_NAME) {
|
||||
if(meatClassName == NormalMeat.CLASS_NAME) {
|
||||
this.clearedMeatCount++;
|
||||
if(this.clearedMeatCount == this.activatedMeatCount) {
|
||||
this.clearStage();
|
||||
|
||||
@@ -15,6 +15,9 @@ function God(x, y, mainGame) {
|
||||
|
||||
game.add.existing(this);
|
||||
|
||||
this.speechBubble = new SpeechBubble();
|
||||
this.speechBubble.hideSpeechBubble();
|
||||
|
||||
this.makeParticles(x, y);
|
||||
}
|
||||
|
||||
@@ -103,10 +106,10 @@ God.prototype.setScale = function(size) {
|
||||
}
|
||||
|
||||
|
||||
God.prototype.animateHappy = function(type) {
|
||||
this.loadTexture('god_happy');
|
||||
this.mainGame.speechBubble.showSpeechBubble(type);
|
||||
God.prototype.animateHappy = function(meat) {
|
||||
this.speechBubble.showSpeechBubble(meat);
|
||||
|
||||
this.loadTexture('god_happy');
|
||||
var tween = game.add.tween(this.scale);
|
||||
tween.to({x:0.7, y:0.7}, 500, Phaser.Easing.Quadratic.Out, true, 0);
|
||||
// tween.to({x:0.7, y:0.7}, 1000, Phaser.Easing.Elastic.InOut, true, 0, 2, true);
|
||||
@@ -117,10 +120,25 @@ God.prototype.animateHappy = function(type) {
|
||||
this.particleBurst(God.REACTION_HAPPY);
|
||||
}
|
||||
|
||||
God.prototype.animateAngry = function(type) {
|
||||
this.loadTexture('god_angry');
|
||||
this.mainGame.speechBubble.showSpeechBubble(type);
|
||||
God.prototype.animateAngryWithRare = function(meat) {
|
||||
this.speechBubble.showSpeechBubble(meat);
|
||||
|
||||
this.loadTexture('god_angry');
|
||||
var tween = game.add.tween(this.scale);
|
||||
tween.to({x:0.7, y:0.7}, 1000, Phaser.Easing.Bounce.Out, true, 0);
|
||||
// tween.to({x:0.7, y:0.7}, 1000, Phaser.Easing.Elastic.InOut, true, 0, 2, true);
|
||||
// tween.to({x:0.7, y:0.7}, 1000, Phaser.Easing.Linear.None, true, 0);
|
||||
tween.onComplete.add(this.smileAgain, this);
|
||||
tween.start();
|
||||
|
||||
if(meat.getTotalCookingTime() == 0)
|
||||
this.particleBurst(God.REACTION_ANGRY);
|
||||
}
|
||||
|
||||
God.prototype.animateAngryWithBurnBlack = function(meat) {
|
||||
this.speechBubble.showSpeechBubble(meat);
|
||||
|
||||
this.loadTexture('god_angry');
|
||||
var tween = game.add.tween(this.scale);
|
||||
tween.to({x:0.7, y:0.7}, 1000, Phaser.Easing.Bounce.Out, true, 0);
|
||||
// tween.to({x:0.7, y:0.7}, 1000, Phaser.Easing.Elastic.InOut, true, 0, 2, true);
|
||||
@@ -128,7 +146,6 @@ God.prototype.animateAngry = function(type) {
|
||||
tween.onComplete.add(this.smileAgain, this);
|
||||
tween.start();
|
||||
|
||||
// this.particleBurst(God.REACTION_HAPPY);
|
||||
this.particleBurst(God.REACTION_ANGRY);
|
||||
}
|
||||
|
||||
|
||||
@@ -146,11 +146,15 @@ MeatBase.prototype.getClassName = function() {
|
||||
return this.className;
|
||||
}
|
||||
|
||||
MeatBase.prototype.getScore = function(meatDoneness) {
|
||||
var scoreDoneness = this.scoreArray[meatDoneness];
|
||||
var totalCookingTime = this.cookingTime[MeatBase.MEAT_BACK] + this.cookingTime[MeatBase.MEAT_FRONT];
|
||||
MeatBase.prototype.getTotalCookingTime = function() {
|
||||
return this.cookingTime[MeatBase.MEAT_BACK] + this.cookingTime[MeatBase.MEAT_FRONT];
|
||||
}
|
||||
|
||||
MeatBase.prototype.getScore = function() {
|
||||
var meatDoneness = this.getMeatGrade();
|
||||
var scoreDoneness = this.scoreArray[meatDoneness];
|
||||
var totalCookingTime = this.getTotalCookingTime();
|
||||
|
||||
console.log(totalCookingTime);
|
||||
return scoreDoneness * totalCookingTime;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,52 +1,75 @@
|
||||
// SpeechBubble.prototype = Object.create(Phaser.Text.prototype);
|
||||
// SpeechBubble.prototype.constructor = SpeechBubble;
|
||||
SpeechBubble.prototype = Object.create(Phaser.Sprite.prototype);
|
||||
SpeechBubble.prototype.constructor = SpeechBubble;
|
||||
|
||||
SpeechBubble = function(x, y) {
|
||||
function SpeechBubble() {
|
||||
var textStyle = { font: "normal 24px Arial", fill: "#ff0", boundsAlignH: "center", boundsAlignV: "middle" };
|
||||
|
||||
this.speechBubbleText = game.add.text(0, 0, "맛없어!!!", textStyle);
|
||||
Phaser.Sprite.call(this, game, SpeechBubble.POSITION_X, SpeechBubble.POSITION_Y, 'speech_bubble_angry');
|
||||
this.anchor.set(0.5);
|
||||
this.scale.set(0.7);
|
||||
this.inputEnabled = false;
|
||||
game.add.existing(this);
|
||||
|
||||
// this.speechBubbleText = game.add.text(-451 / 2, -227 / 2, "맛없어!!!", textStyle);
|
||||
this.speechBubbleText = game.add.text(0, 0, "", textStyle);
|
||||
this.speechBubbleText.addColor("#f00", 0);
|
||||
this.speechBubbleText.anchor.setTo(0.5, 0.4);
|
||||
this.speechBubbleText.anchor.setTo(0.5);
|
||||
this.speechBubbleText.scale.set(1.7);
|
||||
|
||||
this.speechBubble = game.add.image(x, y, 'speech_bubble_angry');
|
||||
this.speechBubble.addChild(this.speechBubbleText);
|
||||
this.speechBubble.anchor.set(0.5);
|
||||
this.speechBubble.scale.set(0.7);
|
||||
this.speechBubble.inputEnabled = false;
|
||||
this.addChild(this.speechBubbleText);
|
||||
}
|
||||
|
||||
SpeechBubble.prototype.update = function() {
|
||||
this.y -= 0.3;
|
||||
}
|
||||
|
||||
SpeechBubble.prototype.showSpeechBubble = function(type) {
|
||||
if(type == Meat.DONENESS_WELLDONE) {
|
||||
SpeechBubble.prototype.showSpeechBubble = function(meat) {
|
||||
var meatDoneness = meat.getMeatGrade();
|
||||
switch(meatDoneness) {
|
||||
case Meat.DONENESS_WELLDONE:
|
||||
this.speechBubbleText.addColor("#33f", 0);
|
||||
this.speechBubble.loadTexture('speech_bubble_happy');
|
||||
this.loadTexture('speech_bubble_happy');
|
||||
this.speechBubbleText.text = "맛있어 ♥♡♥";
|
||||
} else {
|
||||
this.speechBubble.loadTexture('speech_bubble_angry');
|
||||
break;
|
||||
|
||||
if(type == Meat.DONENESS_RARE) {
|
||||
case Meat.DONENESS_RARE:
|
||||
if(meat.getTotalCookingTime() == 0) {
|
||||
this.speechBubbleText.addColor("#f33", 0);
|
||||
this.speechBubbleText.text = "날고기 싫어!!!";
|
||||
} else if(type == Meat.DONENESS_BURN_BLACK) {
|
||||
this.speechBubbleText.addColor("#333", 0);
|
||||
this.speechBubbleText.text = "탄 고기\n안먹을래!!!";
|
||||
this.loadTexture('speech_bubble_angry');
|
||||
this.speechBubbleText.text = "하나도\n안익혔짆아!!!";
|
||||
} else {
|
||||
this.speechBubbleText.addColor("#33f", 0);
|
||||
this.loadTexture('speech_bubble_happy');
|
||||
this.speechBubbleText.text = "덜 익은 고기\n맛 없어! ㅠㅠ";
|
||||
}
|
||||
break;
|
||||
|
||||
case Meat.DONENESS_BURN_BLACK:
|
||||
this.speechBubbleText.addColor("#333", 0);
|
||||
this.loadTexture('speech_bubble_angry');
|
||||
this.speechBubbleText.text = "탄 고기\n안먹을래!!!";
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
this.speechBubble.alpha = 1;
|
||||
this.alpha = 1;
|
||||
this.scale.set(0.6);
|
||||
|
||||
this.startAnimation();
|
||||
}
|
||||
|
||||
SpeechBubble.prototype.startAnimation = function() {
|
||||
var tween = game.add.tween(this.scale);
|
||||
tween.to({x:0.7, y:0.7}, 200, Phaser.Easing.Linear.None, true, 0);
|
||||
tween.start();
|
||||
|
||||
game.time.events.add(Phaser.Timer.SECOND * 1, this.hideSpeechBubble, this);
|
||||
},
|
||||
}
|
||||
|
||||
SpeechBubble.prototype.hideSpeechBubble = function() {
|
||||
this.speechBubble.alpha = 0;
|
||||
},
|
||||
this.alpha = 0;
|
||||
}
|
||||
|
||||
SpeechBubble.prototype.destroySelf = function() {
|
||||
this.destroy();
|
||||
}
|
||||
|
||||
|
||||
SpeechBubble.POSITION_X = God.POSITION_X - 200;
|
||||
SpeechBubble.POSITION_Y = God.POSITION_Y - 200;
|
||||
@@ -65,9 +65,9 @@
|
||||
<script src="../../game/mouse/grilled_meat/loading.js"></script>
|
||||
|
||||
<script src="../../game/mouse/grilled_meat/god.js"></script>
|
||||
|
||||
<script src="../../game/mouse/grilled_meat/plus_score.js"></script>
|
||||
<script src="../../game/mouse/grilled_meat/speech_bubble.js"></script>
|
||||
<script src="../../game/mouse/grilled_meat/plus_score.js"></script>
|
||||
|
||||
<script src="../../game/mouse/grilled_meat/heat_plate.js"></script>
|
||||
<script src="../../game/mouse/grilled_meat/stove_dial.js"></script>
|
||||
<script src="../../game/mouse/grilled_meat/trash_can.js"></script>
|
||||
|
||||
Reference in New Issue
Block a user