问题:认为网格中的单元格从0开始,从顶部开始编号留给右下角。如果单击了某个单元格,则需要确定单击了哪个单元格并返回该单元格编号。您将要使用整数除法和取模来计算像元数
我对如何进行此操作没有任何线索。我已经为网格和鼠标单击功能添加了for循环功能。
final int COLUMNS = 8;
final int ROWS = 12;
int tileSize = 30;
int ellipseSize = 20;
int ellipseSpacing = 10;
int numMoves;
int selectedCell;
int targetX;
int targetY;
int randomTarget;
int gridX;
int gridY;
int score = 0;
int clickX;
int clickY;
boolean mouseoverColour = false;
void setup(){
size (700,500);
background(0);
//drawTarget();
}
void draw(){
drawColourgrid();
}
void drawColourgrid(){
for(int i = 0; i < COLUMNS*tileSize; i+=tileSize){
for(int j = 0; j < ROWS*tileSize; j+=tileSize){
noFill();
stroke(255);
rect(i + 100,j + 60,tileSize,tileSize);
}
}
//fill(255);
//rect(100,60,240,360);
}
void mouseClicked(){
if(mouseX >= 100 && mouseX <= 340 && mouseY >= 60 && mouseY <= 360){
mouseoverColour = true;
clickX = mouseX;
clickY = mouseY;
println(clickX, clickY);
}
}
我如何计算像1或2这样的整数(在左上方)?我尝试使用mouseX和mouseY,但永远不会保持不变
我目前正在尝试返回一个“单元格”数字,具体取决于我在由鼠标单击函数内部嵌套循环的网格内单击的位置。我已经做了一个if语句来检查...
mouseX - 100
,mouseY - 60
)计算鼠标位置并除以大小一个单元格: