From 26f7b19f9aac4ecedb84bf6816b72159ebd06fad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=8B=E1=85=A2=E1=84=91=E1=85=B3=E1=86=AF=20=E1=84=82?= =?UTF-8?q?=E1=85=A9=E1=84=90=E1=85=B3=E1=84=87=E1=85=AE=E1=86=A8?= Date: Fri, 17 May 2019 09:54:56 +0900 Subject: [PATCH] Add: animal score text --- src/game/typing/lib/animal_list.js | 47 +++++++++++++++++++++++- src/game/typing/lib/typing_content_bg.js | 2 +- src/game/typing/test/game.js | 5 ++- 3 files changed, 50 insertions(+), 4 deletions(-) diff --git a/src/game/typing/lib/animal_list.js b/src/game/typing/lib/animal_list.js index 4855e87..c0ddbdc 100644 --- a/src/game/typing/lib/animal_list.js +++ b/src/game/typing/lib/animal_list.js @@ -1,4 +1,5 @@ function AnimalList(y) { + this.defaultPositionY = y; this.animals = []; this.activeAnimalIndex = -1; @@ -41,6 +42,38 @@ AnimalList.prototype.inactivate = function(index) { this.animals[index].setAlpha(AnimalList.ALPHA_INACTIVE); } + +AnimalList.prototype.printScore = function(type) { + var animalCount = Animal.SPECIES_DATA.length; + var lineWidth = GAME_SCREEN_SIZE.x - AnimalList.MARGIN_X * 2; + // console.log("lineWidth : " + lineWidth); + var offsetAnimal = lineWidth / (animalCount - 1); + + var titleTextStyle = { font: "16px Arial", fill: "#fff", align: "center"}; + var typingCount = 0; + var animalData = null; + for(var i = 0; i < animalCount; i++) { + animalData = Animal.SPECIES_DATA[i]; + if(type == AnimalList.TYPE_PRACTICE) + typingCount = RecordUtil.getRecordValueWithUnit(animalData.practiceTypingCount, 1); + else + typingCount = RecordUtil.getRecordValueWithUnit(animalData.testTypingCount, 1); + + var recordText = game.add.text( + AnimalList.MARGIN_X + offsetAnimal * i, + this.defaultPositionY + AnimalList.RECORD_TEXT_OFFSET_Y, + typingCount, titleTextStyle + ); + recordText.anchor.set(0.5); + recordText.addColor(AnimalList.COLOR_SCORE_DEFAULT_TEXT, 0); + recordText.stroke = "#333"; + recordText.strokeThickness = 3; + recordText.setShadow(1, 1, 'rgba(0, 0, 0, 0.5)', 2); + } +} + + + AnimalList.prototype.animate = function(index) { var animalData = Animal.SPECIES_DATA[index]; this.animals[index].startAnimation(animalData); @@ -56,4 +89,16 @@ AnimalList.prototype.tweenAnimation = function(animationType) { AnimalList.MARGIN_X = 100; -AnimalList.ALPHA_INACTIVE = 0.1; \ No newline at end of file +AnimalList.ALPHA_INACTIVE = 0.1; + +// AnimalList.ANIMAL_LIST_POS_Y = 90; +AnimalList.RECORD_TEXT_OFFSET_Y = 36; + +AnimalList.ALPHA_INACTIVE = 0.3; + +AnimalList.TYPE_PRACTICE = 0; +AnimalList.TYPE_TEST = 1; + +AnimalList.COLOR_BG = 0x77aadd; //0x99ccff; +AnimalList.COLOR_SCORE_DEFAULT_TEXT = "#dddddd"; //"#bbddff"; +AnimalList.COLOR_SCORE_CLEARED_TEXT = "#ffffff"; \ No newline at end of file diff --git a/src/game/typing/lib/typing_content_bg.js b/src/game/typing/lib/typing_content_bg.js index 2ce45f1..71a8e49 100644 --- a/src/game/typing/lib/typing_content_bg.js +++ b/src/game/typing/lib/typing_content_bg.js @@ -57,5 +57,5 @@ TypingContentBG.COLOR_CONTENT_BG = 0x444444; TypingContentBG.COLOR_CONTENT_ALPHABET_BG = 0x3d3d3d; TypingContentBG.POS_Y_CONTENT_BOX_TYPING_PRACTICE = 140; -TypingContentBG.POS_Y_CONTENT_BOX_TYPING_TEST = 185; // 260; +TypingContentBG.POS_Y_CONTENT_BOX_TYPING_TEST = 195; // 260; TypingContentBG.POS_Y_CONTENT_BOX_TYPING_WHACAMOLE = 200; diff --git a/src/game/typing/test/game.js b/src/game/typing/test/game.js index d36b5c2..6c3eb5c 100644 --- a/src/game/typing/test/game.js +++ b/src/game/typing/test/game.js @@ -41,10 +41,11 @@ var TypingTest = { var typingContentBG = new TypingContentBG(); typingContentBG.makeTestContentBG(); - this.animalList = new AnimalList(100); + this.animalList = new AnimalList(90); + this.animalList.printScore(AnimalList.TYPE_TEST); - var TYPING_CONTENT_Y = 220; // 320; + var TYPING_CONTENT_Y = 230; // 320; if( (isKoreanTypingApp() && isTypingSentenceApp()) || (isEnglishTypingApp() && isTypingSentenceApp()) )