确定窗口的哪个区域被单击
这确实是一个一般性的编程问题。 我有一个窗口分成 9 个均匀的正方形。当用户单击这些方块之一时,我想知道是哪一个。我可以通过 x 和 y 变量获取点击的位置。
我当前的方法是 xRegion = screenWidth / x
和 yRegion = screenHeight / y
这会给我,例如,(1,1)对于点(320,240) 640x480 窗口。但这仅适用于大于屏幕三分之一左右的 x
和 y
值。我知道这可能非常简单,但我似乎无法理解它。
This is really sort of a general programming question.
I have a window split into 9 even squares. When the user clicks one of those squares, I'd like to know which one. I can get the location of the click via x and y variables.
My current approach is xRegion = screenWidth / x
and yRegion = screenHeight / y
which will give me, for instance, (1,1) for the point (320,240) in a 640x480 window. But that only works for x
and y
values greater than one third or so of the screen. I know this is probably really simple, but I can't seem to wrap my brain around it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您使用像 js 或 php 这样的语言,则必须对结果进行取整/截断以获得整数。
如果您希望第一个区域为 (1,1),请在结果中添加 1
对于结果 1 到 9,请执行以下操作:
cell = yRegion*3 + xRegion + 1;
If you are ausing a language like js or php, you must floor/trunc the result to get an integer.
Add 1 to the results if you want the first region to be (1,1)
For results 1 to 9 do this:
cell = yRegion*3 + xRegion + 1;