내가하려는 것은 마우스 위치로 마우스를 눌렀지만 작동하지 않을 때 캔버스 주위를 흰색 사각형으로 이동하는 것입니다. 나는 뭔가를 놓친다는 것을 알고 당신이 나를 도울 것을 부탁합니다. 여기 내 코드입니다 :끌어서 놓기가 제대로 작동하지 않습니다.
Object o;
int[][] back =new int[3][3];
int pad = 10, bs=100; //len=pad*(back.length+1)+bs*back.length; za dinamichno resaizvane na ekrana
boolean drag = false;
void setup() {
size(400, 400);
noStroke();
o = new Object();
}
void draw() {
rectt(0, 0, width, height, color(100));
for (int row=0; row<back.length; row++)
for (int coll=0; coll<back[row].length; coll++) {
float x = pad+(pad+bs)*coll;
float y = pad+(pad+bs)*row;
rectt(x, y, bs, bs, color(150));
if (mouseX >=x && mouseX<=x+width/x*coll+bs
&& mouseY>=y && mouseY<=y+height/y*row+bs) {
rectt(x, y, bs, bs, color(255, 0, 0));
}
}
o.show();
//o.over();
}
void rectt(float x, float y, float w, float h, color c) {
fill(c);
rect(x, y, w, h);
}
void mousePressed() {
o.drag();
}
와 클래스는 여기에 있습니다 :
이class Object {
float size = 50;
float x;
float y;
// boolean d = false;
Object() {
x = width -60;
y = height -60;
}
void show() {
fill(255);
rect(x, y, size, size);
}
void drag() {
if (mouseX >= x && mouseX <= x+size && mouseY <= y+size && mouseY >= y && mousePressed) {
x = mouseX;
y = mouseY;
}
}
}
감사합니다. 지금 내가 어떻게하는지 이해합니다. –