View.contains(x,y)无法正常运行3x3网格

时间:2014-01-08 22:06:46

标签: java android mobile

我正在3x3网格上构建一个游戏,当用户将鼠标悬停在按钮上时,它必须在控制台上记录它们所在的块,但它的注册方式只是由于{{1}价值是一样的。

这是代码:

y

我在if(b1R.contains(x, y)){ // arr.add("1"); Log.d("block", "1"); } else if(b4R.contains(x,y)){ // arr.add("4"); Log.d("block", "4"); } else if(b7R.contains(x,y)){ // arr.add("7"); Log.d("block", "7"); } if(b2R.contains(x,y)){ // arr.add("2"); Log.d("block", "2"); } else if(b8R.contains(x,y)){ // arr.add("8"); Log.d("block", "8"); } else if(b5R.contains(x,y)){ // arr.add("5"); Log.d("block", "5"); } if(b3R.contains(x,y)){ // arr.add("3"); Log.d("block", "3"); } else if(b6R.contains(x,y)){ // arr.add("6"); Log.d("block", "6"); } else if(b9R.contains(x,y)){ // arr.add("9"); Log.d("block", "9"); } 语句中有这样的原因,否则它会记录同一列中的所有3个块(1,4,7或2,5,8或3,6,9)当我将鼠标悬停在1个按钮上时。

b1R代表按钮1矩形,它设置如下(b1是33网格上的图像按钮1):

if else if

目前,当我将鼠标悬停在左栏(左栏中的任何栏)上时,它只返回1,而对于任何列都是相同的。我怎么能通过这个错误/问题?

更新

我得出结论,所有的块都有相同的坐标,我无法弄清楚为什么......

这是代码:

b1R = new Rect(b1.getLeft(), b1.getTop(), b1.getRight(), b1.getBottom());

0 个答案:

没有答案