ソースを参照

Regular scrolling now preserves positions w.r.t. heights; alt-scrolling now keeps things at the same relative position on the screen

tags/v0.1.0
Fen Dweller 6年前
コミット
7ac2878215
1個のファイルの変更16行の追加2行の削除
  1. +16
    -2
      macrovision.js

+ 16
- 2
macrovision.js ファイルの表示

@@ -742,7 +742,7 @@ document.addEventListener("DOMContentLoaded", () => {


} else { } else {
const dir = e.deltaY < 0 ? 0.9 : 1.1; const dir = e.deltaY < 0 ? 0.9 : 1.1;
config.height = math.multiply(config.height, dir);
setWorldHeight(config.height, math.multiply(config.height, dir));
updateWorldOptions(); updateWorldOptions();
} }
checkFitWorld(); checkFitWorld();
@@ -841,6 +841,8 @@ document.addEventListener("DOMContentLoaded", () => {
} else if (e.key == "Alt") { } else if (e.key == "Alt") {
altHeld = true; altHeld = true;
} }

e.preventDefault();
}); });


document.addEventListener("keyup", e => { document.addEventListener("keyup", e => {
@@ -849,6 +851,8 @@ document.addEventListener("DOMContentLoaded", () => {
} else if (e.key == "Alt") { } else if (e.key == "Alt") {
altHeld = false; altHeld = false;
} }

e.preventDefault();
}); });
document.addEventListener("paste", e => { document.addEventListener("paste", e => {
@@ -1050,7 +1054,17 @@ function setWorldHeight(oldHeight, newHeight) {
document.querySelector("#options-height-value").value = config.height.toNumber(unit); document.querySelector("#options-height-value").value = config.height.toNumber(unit);
Object.entries(entities).forEach(([key, entity]) => { Object.entries(entities).forEach(([key, entity]) => {
const element = document.querySelector("#entity-" + key); const element = document.querySelector("#entity-" + key);
const newPosition = adjustAbs({ x: element.dataset.x, y: element.dataset.y }, oldHeight, config.height);
let newPosition;

console.log("###");
console.log({ x: element.dataset.x, y: element.dataset.y });
if (altHeld) {
newPosition = adjustAbs({ x: element.dataset.x, y: element.dataset.y }, oldHeight, config.height);
} else {
newPosition = { x: element.dataset.x, y: element.dataset.y };
}

console.log(newPosition);
element.dataset.x = newPosition.x; element.dataset.x = newPosition.x;
element.dataset.y = newPosition.y; element.dataset.y = newPosition.y;
}); });


読み込み中…
キャンセル
保存