перетаскиваемый фон


12

Я хочу достичь чего-то вроде бесконечного сопротивления, как в Konva J. Может кто-нибудь помочь мне с этим. Я пробую разные вещи, но ни один из них не был в порядке. Я новичок в p5js и javascript. Пожалуйста за любые намеки. Только этот элемент мешает мне завершить весь проект.

var grid;
var current_img;
var BgCat1 = [];
var layerOne;
let show_grid = false;

2
Я не понимаю, что вы пытаетесь сделать. Хотите, чтобы сетка была перетаскиваемой, как в примере, бесконечно?
Quillbert Q.

да .. я хочу, чтобы сетка была перетаскиваемой как пример
Михал Ми

Ответы:


7

Возможно, есть более элегантное решение, но здесь я рисую дополнительную ячейку с каждой стороны сетки, чтобы справиться с переносом, чтобы была видна сетка 12x12 с 10x10. Смотрите его здесь: https://editor.p5js.org/rednoyz/full/uJCADfZXv

let dim = 10, sz;
let xoff = 0, yoff = 0;

function setup() {
  createCanvas(400, 400);
  sz = width/ dim;
}

function mouseDragged() {
  xoff += mouseX - pmouseX;
  yoff += mouseY - pmouseY;
}

function draw() {
  background(255);

  for (let i = 0; i < dim+2; i++) {
    for (let j = 0; j < dim+2; j++) {

      let x = ((xoff + j * sz) % (width+sz)) - sz;
      if (x < -sz) x += width+sz;

      let y = ((yoff + i * sz) % (height+sz)) - sz;
      if (y < -sz) y += height+sz;

      rect(x, y, sz, sz);
      text(i * 10 + j, x + sz/2, y + sz/2);
    }
  }
}

Вы также можете поместить if((mouseX < width && mouseX > 0)&&(mouseY < height && mouseY > 0))на mouseDragged()функции работы только на холсте тащит
darcane

что-нибудь еще, что вы ищете в этом ответе, @ michał-mi?
Реднойз

Я отвечал на запрос спрашивающего о дополнительном коде, который позже был удален
rednoyz
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.