Просмотр исходного кода

Avoid offsetting objects when starting to drag them

tags/v0.0.1
Fen Dweller 6 лет назад
Родитель
Сommit
80b796307a
1 измененных файлов: 7 добавлений и 8 удалений
  1. +7
    -8
      macrovision.js

+ 7
- 8
macrovision.js Просмотреть файл

@@ -6,6 +6,8 @@ let entityIndex = 0;
let clicked = null; let clicked = null;
let dragging = false; let dragging = false;
let clickTimeout = null; let clickTimeout = null;
let dragOffsetX = null;
let dragOffsetY = null;


const config = { const config = {
height: math.unit(10, "meters") height: math.unit(10, "meters")
@@ -22,7 +24,6 @@ function updateSizes() {
const canvasHeight = document.querySelector("#display").clientHeight; const canvasHeight = document.querySelector("#display").clientHeight;
const pixels = math.divide(entity.height, config.height) * canvasHeight; const pixels = math.divide(entity.height, config.height) * canvasHeight;


console.log(pixels);
element.style.setProperty("--height", pixels + "px"); element.style.setProperty("--height", pixels + "px");
}); });
} }
@@ -36,7 +37,6 @@ function drawScale() {


function drawTick(/** @type {CanvasRenderingContext2D} */ ctx, x, y) { function drawTick(/** @type {CanvasRenderingContext2D} */ ctx, x, y) {
const oldStyle = ctx.strokeStyle; const oldStyle = ctx.strokeStyle;
console.log(ctx.strokeStyle);


ctx.beginPath(); ctx.beginPath();
ctx.moveTo(x, y); ctx.moveTo(x, y);
@@ -95,13 +95,14 @@ function makeEntity() {
} }


function clickDown(e) { function clickDown(e) {
console.log("DOWN")
clicked = e.target; clicked = e.target;
const rect = e.target.getBoundingClientRect();
dragOffsetX = e.clientX - rect.left;
dragOffsetY = e.clientY - rect.top;
clickTimeout = setTimeout(() => {dragging = true}, 100) clickTimeout = setTimeout(() => {dragging = true}, 100)
} }


function clickUp() { function clickUp() {
console.log("UP");
clearTimeout(clickTimeout); clearTimeout(clickTimeout);


if (clicked) { if (clicked) {
@@ -123,7 +124,6 @@ function select(target) {
selected = target; selected = target;
selectedEntity = entities[target.dataset.key]; selectedEntity = entities[target.dataset.key];


console.log(selectedEntity)
selected.classList.add("selected"); selected.classList.add("selected");


entityInfo(selectedEntity); entityInfo(selectedEntity);
@@ -178,8 +178,7 @@ window.addEventListener("resize", () => {


document.addEventListener("mousemove", (e) => { document.addEventListener("mousemove", (e) => {
if (clicked) { if (clicked) {
clicked.style.left = e.clientX + "px";
clicked.style.top = e.clientY + "px";

clicked.style.left = (e.clientX - dragOffsetX) + "px";
clicked.style.top = (e.clientY - dragOffsetY) + "px";
} }
}); });

Загрузка…
Отмена
Сохранить