From 8d77636822cf41d0c28fb643b54bd497570477d8 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Sun, 5 Aug 2018 11:51:46 +0200 Subject: [PATCH] Font Size Animation --- FloatingSpace/FloatingLayer.js | 10 ++++++++++ FloatingSpace/FloatingObject.js | 17 +++++++++++++++++ FloatingSpace/ProfileBall.js | 2 +- FloatingSpace/ProfileBalls.js | 1 + 4 files changed, 29 insertions(+), 1 deletion(-) diff --git a/FloatingSpace/FloatingLayer.js b/FloatingSpace/FloatingLayer.js index 53b59b7b2..393bd23e2 100644 --- a/FloatingSpace/FloatingLayer.js +++ b/FloatingSpace/FloatingLayer.js @@ -434,7 +434,17 @@ function newFloatingLayer() { } } + // The fontSize also have a target. + if (Math.abs(floatingObject.currentImageSize - floatingObject.targetImageSize) >= 0.1) { + + if (floatingObject.currentFontSize < floatingObject.targetFontSize) { + floatingObject.currentFontSize = floatingObject.currentFontSize + 0.1; + } else { + floatingObject.currentFontSize = floatingObject.currentFontSize - 0.1; + } + } + /* Collision Control */ for (let k = i + 1; k < visibleFloatingObjects.length; k++) { diff --git a/FloatingSpace/FloatingObject.js b/FloatingSpace/FloatingObject.js index 1d813c94c..b5c5ea129 100644 --- a/FloatingSpace/FloatingObject.js +++ b/FloatingSpace/FloatingObject.js @@ -13,6 +13,7 @@ function newFloatingObject() { initializeMass: initializeMass, initializeRadius: initializeRadius, initializeImageSize: initializeImageSize, + initializeFontSize: initializeFontSize, imageId: undefined, @@ -100,12 +101,15 @@ function newFloatingObject() { thisObject.targetRadius = thisObject.rawRadius * 2; thisObject.targetImageSize = thisObject.rawImageSize * 2; + thisObject.targetFontSize = thisObject.rawFontSize * 1.5; + } function onMouseNotOver() { thisObject.targetRadius = thisObject.rawRadius * 1; thisObject.targetImageSize = thisObject.rawImageSize * 1; + thisObject.targetFontSize = thisObject.rawFontSize * 1; } function drawBackground() { @@ -158,6 +162,19 @@ function newFloatingObject() { } + function initializeFontSize(suggestedValue) { + + var size = suggestedValue; + if (size < 3) { + size = 3; + } + + thisObject.rawFontSize = size; + thisObject.targetFontSize = size; + thisObject.currentFontSize = size / 3; + + } + function radomizeCurrentPosition(arroundPoint) { var position = { diff --git a/FloatingSpace/ProfileBall.js b/FloatingSpace/ProfileBall.js index 6fd423b9c..cdc21f915 100644 --- a/FloatingSpace/ProfileBall.js +++ b/FloatingSpace/ProfileBall.js @@ -115,7 +115,7 @@ function newProfileBall() { browserCanvasContext.strokeStyle = pFloatingObject.labelStrokeStyle; let labelPoint; - let fontSize = 10; + let fontSize = pFloatingObject.currentFontSize; browserCanvasContext.font = fontSize + 'px ' + UI_FONT.SECONDARY; diff --git a/FloatingSpace/ProfileBalls.js b/FloatingSpace/ProfileBalls.js index ad5e301bf..5c1aa0126 100644 --- a/FloatingSpace/ProfileBalls.js +++ b/FloatingSpace/ProfileBalls.js @@ -56,6 +56,7 @@ function newProfileBalls() { floatingObject.initializeMass(100); floatingObject.initializeRadius(30); floatingObject.initializeImageSize(50); + floatingObject.initializeFontSize(10); floatingObject.fillStyle = 'rgba(' + UI_COLOR.WHITE + ', 0.5)'; floatingObject.labelStrokeStyle = 'rgba(60, 60, 60, 0.50)';