Add: God
This commit is contained in:
@@ -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');
|
||||
}
|
||||
@@ -7,6 +7,10 @@ function JustOnTime() {
|
||||
JustOnTime.prototype.preload = function() {
|
||||
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');
|
||||
}
|
||||
|
||||
@@ -71,6 +75,8 @@ JustOnTime.prototype.create = function() {
|
||||
graphics = game.add.graphics(0, 0);
|
||||
|
||||
|
||||
this.god = new God();
|
||||
|
||||
// bottom ui
|
||||
var screenBottomUI = new ScreenBottomUI();
|
||||
screenBottomUI.printLeftTextWithAppHighestRecord(sessionStorageManager.getAppHighestRecord());
|
||||
@@ -85,17 +91,45 @@ JustOnTime.prototype.initVariables = function() {
|
||||
}
|
||||
|
||||
JustOnTime.prototype.fontLoaded = function() {
|
||||
|
||||
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(
|
||||
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();
|
||||
}
|
||||
|
||||
|
||||
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() {
|
||||
sessionStorageManager.resetPlayingAppData();
|
||||
location.href = '../../web/client/main_menu.html';
|
||||
@@ -139,20 +173,28 @@ JustOnTime.prototype.startGame = function() {
|
||||
|
||||
|
||||
JustOnTime.prototype.timeOver = function() {
|
||||
this.god.animateAngry();
|
||||
|
||||
var timeOverText = new TimeOverText();
|
||||
if(!isExperienceMaestroAccount())
|
||||
this.updateResultRecord();
|
||||
|
||||
// game.time.events.remove(this.timeEvent);
|
||||
|
||||
for(var i = 0; i < this.gameTimeEvents.length; i++) {
|
||||
game.time.events.remove(this.gameTimeEvents[i]);
|
||||
}
|
||||
this.gameTimeEvents = [];
|
||||
|
||||
game.time.events.add(Phaser.Timer.SECOND * 2, this.goResult, this);
|
||||
// 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() {
|
||||
if(sessionStorageManager.getMaestroAccountType() < 100) { // experience account
|
||||
this.dbConnectManager.updateResultRecord(
|
||||
@@ -171,5 +213,5 @@ JustOnTime.prototype.goResult = function() {
|
||||
|
||||
|
||||
JustOnTime.GAME_TIME_SEC = 60;
|
||||
JustOnTime.TIMER_STAGE_POS_X = 300;
|
||||
JustOnTime.TIMER_STAGE_POS_X = 250;
|
||||
JustOnTime.TIMER_STAGE_POS_Y = 200;
|
||||
|
||||
@@ -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) {
|
||||
var setting = new RoundRectButtonSetting(x, y, 240, 100);
|
||||
setting.fontStyle.fontWeight = "bold";
|
||||
@@ -49,6 +57,9 @@ TimerStage.prototype.initialize = function() {
|
||||
this.state = TimerStage.STATE_READY;
|
||||
this.mainTimer = game.time.create(false);
|
||||
|
||||
this.onPlusScoreEventHandler = null;
|
||||
this.onGameOverEventHandler = null;
|
||||
|
||||
this.timerEvent = null;
|
||||
this.timerEvent = this.mainTimer.loop(
|
||||
10,
|
||||
@@ -61,13 +72,16 @@ TimerStage.prototype.initialize = function() {
|
||||
|
||||
TimerStage.prototype.updateTimer = function() {
|
||||
// console.log(game.time.totalElapsedSeconds());
|
||||
console.log(this.mainTimer.ms);
|
||||
// console.log(this.mainTimer.ms);
|
||||
var timeLeft = this.timeLimitMS - this.mainTimer.ms;
|
||||
this.mainTimerText.setMSTimeText(timeLeft);
|
||||
// this.mainTimerText.setMSTimeText(this.mainTimer.ms);
|
||||
|
||||
if(timeLeft < 0) {
|
||||
console.log("Game Over");
|
||||
|
||||
this.mainTimer.stop();
|
||||
this.onGameOverEventHandler();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -102,57 +116,54 @@ TimerStage.prototype.buttonClicked = function() {
|
||||
}
|
||||
|
||||
TimerStage.prototype.decideGrade = function(timeLeft) {
|
||||
console.log(timeLeft);
|
||||
// console.log(timeLeft);
|
||||
if(timeLeft < 0) {
|
||||
console.log("Game Over")
|
||||
}
|
||||
else if(timeLeft < 200) this.gradeGreat(timeLeft);
|
||||
else if(timeLeft < 500) this.gradeGood(timeLeft);
|
||||
else if(timeLeft < 1000) this.gradeSoSo(timeLeft);
|
||||
else this.gradeBad(timeLeft);
|
||||
else if(timeLeft < TimerStage.GRADE_GREAT_MS) this.gradeGreat(timeLeft);
|
||||
else if(timeLeft < TimerStage.GRADE_GOOD_MS) this.gradeGood(timeLeft);
|
||||
else if(timeLeft < TimerStage.GRADE_SOSO_MS) this.gradeSoSo(timeLeft);
|
||||
else this.gradeBad(timeLeft);
|
||||
|
||||
this.updateTimeScoreRecordArray();
|
||||
}
|
||||
|
||||
TimerStage.prototype.gradeGreat = function(timeLeft) {
|
||||
console.log("Great")
|
||||
var score = this.timeLimitMS * 10;
|
||||
this.timeLimitMS = this.timeLimitMS + 3000;
|
||||
// console.log("Great")
|
||||
var score = Math.floor(this.timeLimitMS / 1000) * 10;
|
||||
this.onPlusScoreEventHandler(score, timeLeft);
|
||||
|
||||
this.timeLimitMS = this.timeLimitMS + 3000;
|
||||
|
||||
this.recordArray.push( { timeLeft, score } );
|
||||
}
|
||||
|
||||
TimerStage.prototype.gradeGood = function(timeLeft) {
|
||||
console.log("Good")
|
||||
var score = this.timeLimitMS * 3;
|
||||
this.timeLimitMS = this.timeLimitMS + 1000;
|
||||
// console.log("Good")
|
||||
var score = Math.floor(this.timeLimitMS / 1000) * 3;
|
||||
this.onPlusScoreEventHandler(score, timeLeft);
|
||||
|
||||
this.timeLimitMS = this.timeLimitMS + 1000;
|
||||
|
||||
this.recordArray.push( { timeLeft, score } );
|
||||
}
|
||||
|
||||
TimerStage.prototype.gradeSoSo = function(timeLeft) {
|
||||
console.log("SoSo")
|
||||
var score = this.timeLimitMS * 2;
|
||||
// console.log("SoSo")
|
||||
var score = Math.floor(this.timeLimitMS / 1000) * 2;
|
||||
this.onPlusScoreEventHandler(score, timeLeft);
|
||||
|
||||
this.timeLimitMS = this.timeLimitMS + 500;
|
||||
|
||||
this.recordArray.push( { timeLeft, score } );
|
||||
}
|
||||
|
||||
TimerStage.prototype.gradeBad = function(timeLeft) {
|
||||
console.log("Bad")
|
||||
var score = this.timeLimitMS;
|
||||
// console.log("Bad")
|
||||
var score = Math.floor(this.timeLimitMS / 1000);
|
||||
this.onPlusScoreEventHandler(score, timeLeft);
|
||||
|
||||
// this.recordArray.push( { timeLeft, score } );
|
||||
var record = {
|
||||
timeLeft: 0.0,
|
||||
score: 0
|
||||
}
|
||||
record.timeLeft = timeLeft;
|
||||
record.score = score;
|
||||
|
||||
this.recordArray.push(record);
|
||||
this.recordArray.push( { timeLeft, score } );
|
||||
}
|
||||
|
||||
|
||||
@@ -168,14 +179,14 @@ TimerStage.prototype.updateTimeScoreRecordArray = function() {
|
||||
var record = this.recordArray[recordIndex];
|
||||
// console.log(record);
|
||||
this.timeScoreRecordArray[timeScoreRecordIndex].setContent(record.timeLeft, record.score);
|
||||
if(record.timeLeft < 200)
|
||||
this.timeScoreRecordArray[timeScoreRecordIndex].setTextColorString("gold");
|
||||
else if(record.timeLeft < 500)
|
||||
this.timeScoreRecordArray[timeScoreRecordIndex].setTextColorString("orange");
|
||||
else if(record.timeLeft < 1000)
|
||||
this.timeScoreRecordArray[timeScoreRecordIndex].setTextColorString("red");
|
||||
if(record.timeLeft < TimerStage.GRADE_GREAT_MS)
|
||||
this.timeScoreRecordArray[timeScoreRecordIndex].setTextColorString("Brown");
|
||||
else if(record.timeLeft < TimerStage.GRADE_GOOD_MS)
|
||||
this.timeScoreRecordArray[timeScoreRecordIndex].setTextColorString("Chocolate");
|
||||
else if(record.timeLeft < TimerStage.GRADE_SOSO_MS)
|
||||
this.timeScoreRecordArray[timeScoreRecordIndex].setTextColorString("GoldenRod");
|
||||
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_GAP_Y = 50;
|
||||
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 millisec = ms % 1000;
|
||||
console.log("millisec : " + millisec);
|
||||
var millisec2Digit = "" + millisec;
|
||||
if(millisec < 10)
|
||||
millisec2Digit = ("000" + millisec).substring(0, 2);
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
<script src="../../game/lib/text/combo_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/game_over_text.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/screen_top_ui.js"></script>
|
||||
@@ -63,6 +64,8 @@
|
||||
<script src="../../game/lib/stage_timer.js"></script>
|
||||
|
||||
<!-- 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/time_score_record.js"></script>
|
||||
<script src="../../game/mouse/just_on_time/timer_stage.js"></script>
|
||||
|
||||
Reference in New Issue
Block a user