ドラッグ可能な比較


12

Konva jsのような無限のドラッグのようなものを実現したいです。私はいろいろなことを試しますが、どれも問題ありませんでした。私はp5jsとjavascriptの新機能です。ヒントをお願いします。この要素だけでは、プロジェクト全体を完了できません。

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

2
あなたが何をしようとしているのか混乱しています。グリッドを例のように無限にドラッグできるようにしますか?
Quillbert Q.

はい..私は、グリッドは、例のようにドラッグ可能にしたい
のMichałミ

回答:


7

より洗練された解決策があるかもしれませんが、ここでは、ラップアラウンドを処理するためにグリッドの両側に追加のセルを描画し、10x10の12x12グリッドを表示しています。ここで実行してください: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

追加のコードを求める質問者のリクエストに応答していましたが、後で削除されました
rednoyz
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.