This commit is contained in:
2019-12-03 17:29:53 +09:00
parent 649698fa95
commit b44f78ed87
5 changed files with 187 additions and 44 deletions
+83
View File
@@ -0,0 +1,83 @@
God.prototype = Object.create(Phaser.Sprite.prototype);
God.constructor = God;
function God() {
this.isActivated = true;
Phaser.Sprite.call(this, game, GAME_SCREEN_SIZE.x / 2, GAME_SCREEN_SIZE.y - 50, 'god_smile');
this.anchor.setTo(0.5, 1);
this.scale.set(0.5);
game.add.existing(this);
}
God.prototype.setScale = function(size) {
this.scale.set(size);
this.backupScale = size;
}
God.prototype.animateBigHappy = function(type) {
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:1, y:1}, 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();
}
God.prototype.animateBigSmile = function(type) {
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.8, y:0.8}, 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();
}
God.prototype.animateLittleSmile = function(type) {
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.6, y:0.6}, 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();
}
God.prototype.animateBigAngry = function(type) {
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:1.5, y:1.5}, 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();
}
God.prototype.animateLittleAngry = function(type) {
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.6, y:0.6}, 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();
}
God.prototype.smileAgain = function() {
this.scale.set(0.5);
this.loadTexture('god_smile');
}
+50 -8
View File
@@ -7,6 +7,10 @@ function JustOnTime() {
JustOnTime.prototype.preload = function() { JustOnTime.prototype.preload = function() {
game.load.image('icon_fullscreen', '../../../resources/image/icon/fullscreen_white.png'); game.load.image('icon_fullscreen', '../../../resources/image/icon/fullscreen_white.png');
game.load.image('god_angry', '../../../resources/image/character/god/god_hungry.png');
game.load.image('god_smile', '../../../resources/image/character/god/god_smile.png');
game.load.image('god_happy', '../../../resources/image/character/god/god_happy.png');
game.load.script('webfont', '//ajax.googleapis.com/ajax/libs/webfont/1.4.7/webfont.js'); game.load.script('webfont', '//ajax.googleapis.com/ajax/libs/webfont/1.4.7/webfont.js');
} }
@@ -71,6 +75,8 @@ JustOnTime.prototype.create = function() {
graphics = game.add.graphics(0, 0); graphics = game.add.graphics(0, 0);
this.god = new God();
// bottom ui // bottom ui
var screenBottomUI = new ScreenBottomUI(); var screenBottomUI = new ScreenBottomUI();
screenBottomUI.printLeftTextWithAppHighestRecord(sessionStorageManager.getAppHighestRecord()); screenBottomUI.printLeftTextWithAppHighestRecord(sessionStorageManager.getAppHighestRecord());
@@ -85,17 +91,45 @@ JustOnTime.prototype.initVariables = function() {
} }
JustOnTime.prototype.fontLoaded = function() { JustOnTime.prototype.fontLoaded = function() {
this.leftTimerStage = new TimerStage( this.leftTimerStage = new TimerStage(
JustOnTime.TIMER_STAGE_POS_X, JustOnTime.TIMER_STAGE_POS_Y JustOnTime.TIMER_STAGE_POS_X,
JustOnTime.TIMER_STAGE_POS_Y
); );
this.leftTimerStage.setOnPlusScore(
(function(score, timeLeft) { this.plusScore(score, timeLeft); }).bind(this)
);
this.leftTimerStage.setOnGameOver(
(function() { this.gameOver(); }).bind(this)
);
this.rightTimerStage = new TimerStage( this.rightTimerStage = new TimerStage(
GAME_SCREEN_SIZE.x - JustOnTime.TIMER_STAGE_POS_X, JustOnTime.TIMER_STAGE_POS_Y GAME_SCREEN_SIZE.x - JustOnTime.TIMER_STAGE_POS_X,
JustOnTime.TIMER_STAGE_POS_Y
);
this.rightTimerStage.setOnPlusScore(
(function(score) { this.plusScore(score); }).bind(this)
);
this.rightTimerStage.setOnGameOver(
(function() { this.gameOver(); }).bind(this)
); );
// this.startGame(); // this.startGame();
} }
JustOnTime.prototype.plusScore = function(score, timeLeft) {
this.scoreManager.plusScore(score);
if(timeLeft < TimerStage.GRADE_GREAT_MS)
this.god.animateBigHappy();
else if(timeLeft < TimerStage.GRADE_GOOD_MS)
this.god.animateBigSmile();
else if(timeLeft < TimerStage.GRADE_SOSO_MS)
this.god.animateLittleSmile();
else
this.god.animateLittleAngry();
}
JustOnTime.prototype.back = function() { JustOnTime.prototype.back = function() {
sessionStorageManager.resetPlayingAppData(); sessionStorageManager.resetPlayingAppData();
location.href = '../../web/client/main_menu.html'; location.href = '../../web/client/main_menu.html';
@@ -139,20 +173,28 @@ JustOnTime.prototype.startGame = function() {
JustOnTime.prototype.timeOver = function() { JustOnTime.prototype.timeOver = function() {
this.god.animateAngry();
var timeOverText = new TimeOverText(); var timeOverText = new TimeOverText();
if(!isExperienceMaestroAccount()) if(!isExperienceMaestroAccount())
this.updateResultRecord(); this.updateResultRecord();
// game.time.events.remove(this.timeEvent); // game.time.events.remove(this.timeEvent);
for(var i = 0; i < this.gameTimeEvents.length; i++) { // game.time.events.add(Phaser.Timer.SECOND * 2, this.goResult, this);
game.time.events.remove(this.gameTimeEvents[i]);
} }
this.gameTimeEvents = [];
game.time.events.add(Phaser.Timer.SECOND * 2, this.goResult, this); JustOnTime.prototype.gameOver = function() {
this.god.animateBigAngry();
var gameOverText = new GameOverText();
if(!isExperienceMaestroAccount())
this.updateResultRecord();
// game.time.events.add(Phaser.Timer.SECOND * 2, this.goResult, this);
} }
JustOnTime.prototype.updateResultRecord = function() { JustOnTime.prototype.updateResultRecord = function() {
if(sessionStorageManager.getMaestroAccountType() < 100) { // experience account if(sessionStorageManager.getMaestroAccountType() < 100) { // experience account
this.dbConnectManager.updateResultRecord( this.dbConnectManager.updateResultRecord(
@@ -171,5 +213,5 @@ JustOnTime.prototype.goResult = function() {
JustOnTime.GAME_TIME_SEC = 60; JustOnTime.GAME_TIME_SEC = 60;
JustOnTime.TIMER_STAGE_POS_X = 300; JustOnTime.TIMER_STAGE_POS_X = 250;
JustOnTime.TIMER_STAGE_POS_Y = 200; JustOnTime.TIMER_STAGE_POS_Y = 200;
+47 -31
View File
@@ -18,6 +18,14 @@ function TimerStage(x, y) {
} }
TimerStage.prototype.setOnPlusScore = function(eventHandler) {
this.onPlusScoreEventHandler = eventHandler;
}
TimerStage.prototype.setOnGameOver = function(eventHandler) {
this.onGameOverEventHandler = eventHandler;
}
TimerStage.prototype.makeTimeStopButton = function(x, y) { TimerStage.prototype.makeTimeStopButton = function(x, y) {
var setting = new RoundRectButtonSetting(x, y, 240, 100); var setting = new RoundRectButtonSetting(x, y, 240, 100);
setting.fontStyle.fontWeight = "bold"; setting.fontStyle.fontWeight = "bold";
@@ -49,6 +57,9 @@ TimerStage.prototype.initialize = function() {
this.state = TimerStage.STATE_READY; this.state = TimerStage.STATE_READY;
this.mainTimer = game.time.create(false); this.mainTimer = game.time.create(false);
this.onPlusScoreEventHandler = null;
this.onGameOverEventHandler = null;
this.timerEvent = null; this.timerEvent = null;
this.timerEvent = this.mainTimer.loop( this.timerEvent = this.mainTimer.loop(
10, 10,
@@ -61,13 +72,16 @@ TimerStage.prototype.initialize = function() {
TimerStage.prototype.updateTimer = function() { TimerStage.prototype.updateTimer = function() {
// console.log(game.time.totalElapsedSeconds()); // console.log(game.time.totalElapsedSeconds());
console.log(this.mainTimer.ms); // console.log(this.mainTimer.ms);
var timeLeft = this.timeLimitMS - this.mainTimer.ms; var timeLeft = this.timeLimitMS - this.mainTimer.ms;
this.mainTimerText.setMSTimeText(timeLeft); this.mainTimerText.setMSTimeText(timeLeft);
// this.mainTimerText.setMSTimeText(this.mainTimer.ms); // this.mainTimerText.setMSTimeText(this.mainTimer.ms);
if(timeLeft < 0) { if(timeLeft < 0) {
console.log("Game Over"); console.log("Game Over");
this.mainTimer.stop();
this.onGameOverEventHandler();
} }
} }
@@ -102,57 +116,54 @@ TimerStage.prototype.buttonClicked = function() {
} }
TimerStage.prototype.decideGrade = function(timeLeft) { TimerStage.prototype.decideGrade = function(timeLeft) {
console.log(timeLeft); // console.log(timeLeft);
if(timeLeft < 0) { if(timeLeft < 0) {
console.log("Game Over") console.log("Game Over")
} }
else if(timeLeft < 200) this.gradeGreat(timeLeft); else if(timeLeft < TimerStage.GRADE_GREAT_MS) this.gradeGreat(timeLeft);
else if(timeLeft < 500) this.gradeGood(timeLeft); else if(timeLeft < TimerStage.GRADE_GOOD_MS) this.gradeGood(timeLeft);
else if(timeLeft < 1000) this.gradeSoSo(timeLeft); else if(timeLeft < TimerStage.GRADE_SOSO_MS) this.gradeSoSo(timeLeft);
else this.gradeBad(timeLeft); else this.gradeBad(timeLeft);
this.updateTimeScoreRecordArray(); this.updateTimeScoreRecordArray();
} }
TimerStage.prototype.gradeGreat = function(timeLeft) { TimerStage.prototype.gradeGreat = function(timeLeft) {
console.log("Great") // console.log("Great")
var score = this.timeLimitMS * 10; var score = Math.floor(this.timeLimitMS / 1000) * 10;
this.timeLimitMS = this.timeLimitMS + 3000; this.onPlusScoreEventHandler(score, timeLeft);
this.timeLimitMS = this.timeLimitMS + 3000;
this.recordArray.push( { timeLeft, score } ); this.recordArray.push( { timeLeft, score } );
} }
TimerStage.prototype.gradeGood = function(timeLeft) { TimerStage.prototype.gradeGood = function(timeLeft) {
console.log("Good") // console.log("Good")
var score = this.timeLimitMS * 3; var score = Math.floor(this.timeLimitMS / 1000) * 3;
this.timeLimitMS = this.timeLimitMS + 1000; this.onPlusScoreEventHandler(score, timeLeft);
this.timeLimitMS = this.timeLimitMS + 1000;
this.recordArray.push( { timeLeft, score } ); this.recordArray.push( { timeLeft, score } );
} }
TimerStage.prototype.gradeSoSo = function(timeLeft) { TimerStage.prototype.gradeSoSo = function(timeLeft) {
console.log("SoSo") // console.log("SoSo")
var score = this.timeLimitMS * 2; var score = Math.floor(this.timeLimitMS / 1000) * 2;
this.onPlusScoreEventHandler(score, timeLeft);
this.timeLimitMS = this.timeLimitMS + 500; this.timeLimitMS = this.timeLimitMS + 500;
this.recordArray.push( { timeLeft, score } ); this.recordArray.push( { timeLeft, score } );
} }
TimerStage.prototype.gradeBad = function(timeLeft) { TimerStage.prototype.gradeBad = function(timeLeft) {
console.log("Bad") // console.log("Bad")
var score = this.timeLimitMS; var score = Math.floor(this.timeLimitMS / 1000);
this.onPlusScoreEventHandler(score, timeLeft);
// this.recordArray.push( { timeLeft, score } ); this.recordArray.push( { timeLeft, score } );
var record = {
timeLeft: 0.0,
score: 0
}
record.timeLeft = timeLeft;
record.score = score;
this.recordArray.push(record);
} }
@@ -168,14 +179,14 @@ TimerStage.prototype.updateTimeScoreRecordArray = function() {
var record = this.recordArray[recordIndex]; var record = this.recordArray[recordIndex];
// console.log(record); // console.log(record);
this.timeScoreRecordArray[timeScoreRecordIndex].setContent(record.timeLeft, record.score); this.timeScoreRecordArray[timeScoreRecordIndex].setContent(record.timeLeft, record.score);
if(record.timeLeft < 200) if(record.timeLeft < TimerStage.GRADE_GREAT_MS)
this.timeScoreRecordArray[timeScoreRecordIndex].setTextColorString("gold"); this.timeScoreRecordArray[timeScoreRecordIndex].setTextColorString("Brown");
else if(record.timeLeft < 500) else if(record.timeLeft < TimerStage.GRADE_GOOD_MS)
this.timeScoreRecordArray[timeScoreRecordIndex].setTextColorString("orange"); this.timeScoreRecordArray[timeScoreRecordIndex].setTextColorString("Chocolate");
else if(record.timeLeft < 1000) else if(record.timeLeft < TimerStage.GRADE_SOSO_MS)
this.timeScoreRecordArray[timeScoreRecordIndex].setTextColorString("red"); this.timeScoreRecordArray[timeScoreRecordIndex].setTextColorString("GoldenRod");
else else
this.timeScoreRecordArray[timeScoreRecordIndex].setTextColorString("white"); this.timeScoreRecordArray[timeScoreRecordIndex].setTextColorString("LightGoldenRodYellow");
} }
} }
@@ -194,3 +205,8 @@ TimerStage.BUTTON_OFFSET_Y = 100;
TimerStage.RECORD_OFFSET_Y = 200; TimerStage.RECORD_OFFSET_Y = 200;
TimerStage.RECORD_GAP_Y = 50; TimerStage.RECORD_GAP_Y = 50;
TimerStage.RECORD_COUNT = 5; TimerStage.RECORD_COUNT = 5;
TimerStage.GRADE_GREAT_MS = 200;
TimerStage.GRADE_GOOD_MS = 500;
TimerStage.GRADE_SOSO_MS = 1000;
@@ -35,7 +35,6 @@ TimerText.prototype.setMSTimeText = function(ms) {
var sec2Digit = ("00" + sec).slice(-2); var sec2Digit = ("00" + sec).slice(-2);
var millisec = ms % 1000; var millisec = ms % 1000;
console.log("millisec : " + millisec);
var millisec2Digit = "" + millisec; var millisec2Digit = "" + millisec;
if(millisec < 10) if(millisec < 10)
millisec2Digit = ("000" + millisec).substring(0, 2); millisec2Digit = ("000" + millisec).substring(0, 2);
+3
View File
@@ -47,6 +47,7 @@
<script src="../../game/lib/text/combo_text.js"></script> <script src="../../game/lib/text/combo_text.js"></script>
<script src="../../game/lib/text/input_type_text.js"></script> <script src="../../game/lib/text/input_type_text.js"></script>
<script src="../../game/lib/text/time_over_text.js"></script> <script src="../../game/lib/text/time_over_text.js"></script>
<script src="../../game/lib/text/game_over_text.js"></script>
<script src="../../game/lib/text/score_board.js"></script> <script src="../../game/lib/text/score_board.js"></script>
<script src="../../game/lib/text/score_text.js"></script> <script src="../../game/lib/text/score_text.js"></script>
<script src="../../game/lib/text/screen_top_ui.js"></script> <script src="../../game/lib/text/screen_top_ui.js"></script>
@@ -63,6 +64,8 @@
<script src="../../game/lib/stage_timer.js"></script> <script src="../../game/lib/stage_timer.js"></script>
<!-- Card matching : source files --> <!-- Card matching : source files -->
<script src="../../game/mouse/just_on_time/god.js"></script>
<script src="../../game/mouse/just_on_time/timer_text.js"></script> <script src="../../game/mouse/just_on_time/timer_text.js"></script>
<script src="../../game/mouse/just_on_time/time_score_record.js"></script> <script src="../../game/mouse/just_on_time/time_score_record.js"></script>
<script src="../../game/mouse/just_on_time/timer_stage.js"></script> <script src="../../game/mouse/just_on_time/timer_stage.js"></script>