центрировать json

This commit is contained in:
2021-06-26 20:42:21 +03:00
parent e1c5a43bf8
commit 20d379dce8
3 changed files with 26 additions and 4 deletions

View File

@@ -3,6 +3,7 @@
обновить: обновитьИгрока, обновить: обновитьИгрока,
}; };
// // // // // // // //

View File

@@ -1,4 +1,5 @@
мир.камера = { мир.камера = {
задано: {},
обновить: обновитьКамеру, обновить: обновитьКамеру,
}; };
@@ -6,10 +7,26 @@
// // // // // // // //
мир.ключники.push(function(ключ, путь, значение){
if (!ключ.startsWith("камера"))
{
return;
}
var свойство = путь.slice(1).join(".");
мир.камера.задано[свойство] = значение;
});
// // // //
function обновитьКамеру() function обновитьКамеру()
{ {
var тело = мир.объекты.тела[мир.игрок.задано.объект]; var объект = мир.камера.задано.объект;
if (!тело) var центрировать = мир.камера.задано.центрировать;
var тело = мир.объекты.тела[объект];
if (!тело || !центрировать)
{ {
return; return;
} }
@@ -33,8 +50,8 @@ function обновитьКамеру()
function lerp(v0, v1, t) { function lerp(v0, v1, t) {
return v0 * (1 - t) + v1 * t; return v0 * (1 - t) + v1 * t;
} }
var x = lerp(x0, x1, 0.1); var x = lerp(x0, x1, центрировать);
var y = lerp(y0, y1, 0.1); var y = lerp(y0, y1, центрировать);
корень.style.left = `${x}px`; корень.style.left = `${x}px`;
корень.style.top = `${y}px`; корень.style.top = `${y}px`;

View File

@@ -44,4 +44,8 @@
скорость: [4, 13], скорость: [4, 13],
клавиши: ["ArrowLeft", "ArrowRight", "ArrowUp"], клавиши: ["ArrowLeft", "ArrowRight", "ArrowUp"],
}, },
камера: {
объект: "колобок",
центрировать: 0.1,
},
}); });