#math #mouseevent
#математика #mouseevent
Вопрос:
Это действительно своего рода общий вопрос программирования. У меня есть окно, разделенное на 9 четных квадратов. Когда пользователь нажимает на один из этих квадратов, я хотел бы знать, какой именно. Я могу получить местоположение щелчка с помощью переменных x и y.
Мой текущий подход — xRegion = screenWidth / x
и yRegion = screenHeight / y
который даст мне, например, (1,1) для точки (320 240) в окне 640×480. Но это работает только для x
значений и y
значений, превышающих примерно одну треть экрана. Я знаю, что это, вероятно, действительно просто, но, похоже, я не могу понять это.
Ответ №1:
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
Комментарии:
1. Потрясающе, спасибо. Теперь мне просто нужно перевести это в его положение в одномерном массиве…
2. Спасибо. Я все еще пытаюсь понять, почему это работает. :/