0
我有這樣的代碼來創建一個網格,以填補電網的盒子,當鼠標就可以了:如何網格的每個盒子分配一個ID
int cols = 10, rows = 10;
boolean[][] states = new boolean[cols][rows];
int videoScale = 50;
void setup(){
size(500,500);
}
void draw(){
// Begin loop for columns
for (int i = 0; i < cols; i++) {
// Begin loop for rows
for (int j = 0; j < rows; j++) {
// Scaling up to draw a rectangle at (x,y)
int x = i*videoScale;
int y = j*videoScale;
fill(255);
stroke(0);
//check if coordinates are within a box (these are mouse x,y but could be fiducial x,y)
//simply look for bounds (left,right,top,bottom)
if((mouseX >= x && mouseX <= x + videoScale) && //check horzontal
(mouseY >= y && mouseY <= y + videoScale)){
//coordinates are within a box, do something about it
fill(0);
stroke(255);
//you can keep track of the boxes states (contains x,y or not)
states[i][j] = true;
if(mousePressed) println(i+"/"+j);
}else{
states[i][j] = false;
}
rect(x,y,videoScale,videoScale);
}
}
}
我想分配給每個盒子像A2,B7等iD,然後在控制檯上打印鼠標所在盒子的iD。
有人可以幫我做這個嗎?我不知道如何定義一個精確的區域,並給它一個ID
請只問一個具體quesiton。哪部分不工作?它在做什麼是不正確的?你能指望什麼?你有什麼嘗試?調試時發生了什麼?你有沒有嘗試記錄日誌?等等。 – Kon
(對不起,Python不是Java)的一些變體:'chr(ord('A')+(num%26)'爲0到25.要得到第二個字母,你可以做'num // 26'(整數devision),然後做一個類似的轉換爲一個字母 –
@Kon我的文章中的代碼工作,但沒有附加到每個框的ID我在谷歌上找不到任何地方如何分配iD到一個區域的窗戶 –