Определите, какая область окна нажата - PullRequest
0 голосов
/ 01 октября 2011

Это действительно общий вопрос программирования.У меня есть окно, разделенное на 9 четных квадратов.Когда пользователь нажимает один из этих квадратов, я хотел бы знать, какой из них.Я могу получить местоположение клика с помощью переменных x и y.

Мой текущий подход - xRegion = screenWidth / x и yRegion = screenHeight / y, что даст мне, например, (1,1) для точки (320,240)в окне 640х480.Но это работает только для значений x и y, составляющих более одной трети экрана.Я знаю, что это, вероятно, действительно просто, но я не могу обернуть это вокруг себя.

1 Ответ

2 голосов
/ 01 октября 2011
xRegion = (x*3) / screenWidth;
yRegion = (y*3) / screenHeight;

+-----+-----+-----+
| 0,0 | 1,0 | 2,0 |
+-----+-----+-----+
| 0,1 | 1,1 | 2,1 |
+-----+-----+-----+
| 0,2 | 1,2 | 2,2 |
+-----+-----+-----+

Если вы используете такой язык, как js или php, вы должны получить / усечь результат, чтобы получить целое число.
Добавьте 1 к результатам, если вы хотите, чтобы первый регион был (1,1)

Для результатов с 1 по 9 сделайте это: cell = yRegion*3 + xRegion + 1;

1 2 3
4 5 6
7 8 9
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...