From a2bae9dea46a1e62e89c55b1623e9b61f5cb5409 Mon Sep 17 00:00:00 2001 From: badlogic Date: Thu, 28 Nov 2019 10:35:16 +0100 Subject: [PATCH] [ts] Generator background image UI and application. --- .../generator/embedding-generator.html | 22 ++++++++++- .../example/generator/embedding-generator.js | 37 ++++++++++++++++++- 2 files changed, 57 insertions(+), 2 deletions(-) diff --git a/spine-ts/player/example/generator/embedding-generator.html b/spine-ts/player/example/generator/embedding-generator.html index 29e82c7d7..53a2d3a32 100644 --- a/spine-ts/player/example/generator/embedding-generator.html +++ b/spine-ts/player/example/generator/embedding-generator.html @@ -130,12 +130,32 @@ body { Fullscreen background color - + Background image + + + + + + + + + + + + + + + + + + +
X
Y
Width
Height
+ diff --git a/spine-ts/player/example/generator/embedding-generator.js b/spine-ts/player/example/generator/embedding-generator.js index 5f5d451cd..c64f24016 100644 --- a/spine-ts/player/example/generator/embedding-generator.js +++ b/spine-ts/player/example/generator/embedding-generator.js @@ -112,7 +112,10 @@ function setupPlayer(dataUrls, jsonFile, skelFile, atlasFile) { atlasUrl: atlasFile, rawDataURIs: dataUrls, success: setupConfigUI, - alpha: true // needed so we can emulate shizzle + alpha: true, // needed so we can emulate shizzle + viewport: { // needed so we can see viewport bounds + debugRender: true + } }; appState.player = new spine.SpinePlayer(player, config); @@ -190,6 +193,12 @@ function setupConfigUI() { appState.player.assetManager.loadTexture(imageUrl); } + var boundsTable = document.getElementById("sp_generator_background_bounds"); + if (imageUrl == "none") + boundsTable.classList.add("sp_generator_hidden"); + else + boundsTable.classList.remove("sp_generator_hidden"); + if (appState.player.config.backgroundImage) { appState.player.config.backgroundImage.url = imageUrl != "none" ? imageUrl: null; } else { @@ -198,6 +207,32 @@ function setupConfigUI() { } } } + var backgroundX = document.getElementById("sp_generator_background_x"); + backgroundX.onkeyup = backgroundX.onchange = function () { + var value = Number.parseFloat(backgroundX.value); + if (Number.isNaN(value)) return; + appState.player.config.backgroundImage.x = value; + }; + + var backgroundY = document.getElementById("sp_generator_background_y"); + backgroundY.onkeyup = backgroundY.onchange = function () { + var value = Number.parseFloat(backgroundY.value); + if (Number.isNaN(value)) return; + appState.player.config.backgroundImage.y = value; + }; + var backgroundWidth = document.getElementById("sp_generator_background_width"); + backgroundWidth.onkeyup = backgroundWidth.onchange = function () { + var value = Number.parseFloat(backgroundWidth.value); + if (Number.isNaN(value)) return; + appState.player.config.backgroundImage.width = value; + }; + var backgroundHeight = document.getElementById("sp_generator_background_height"); + backgroundHeight.onkeyup = backgroundHeight.onchange = function () { + var value = Number.parseFloat(backgroundHeight.value); + if (Number.isNaN(value)) return; + appState.player.config.backgroundImage.height = value; + }; + // Fill animations tab