Python 3:基于鼠标坐标查找网格中的方形索引

时间:2015-12-10 11:09:05

标签: python-3.x pygame

之前可能已经提出这个问题,但由于我缺乏正确的英语条款,我最终还是离开了这里。 (我是芬兰语)之前可能会问过,但我还能做些什么呢?

但是我有pygame代码,它会渲染更大的'map'。我希望有一种行为来“点击”一个方形并“选择”它。

问题是,如何找到我目前与鼠标重叠的图像索引?

类似于我现在拥有的

#...setup code...
map = [[0,0,0,0], [0,1,0,0], [0,0,0,0]]
while:
    render()
    #render completely fills the screen with images based on map's objects
    mousepos=pyagem.mouse.get_pos()

    selectedMapSquare=???

1 个答案:

答案 0 :(得分:1)

您只需将绝对(屏幕)坐标与正方形的大小相除即可。因此,如果您的方块的大小是例如32,您可以使用类似

的内容
x, y = pygame.mouse.get_pos()
# TODO: use a constant
w_x, w_y = x / 32, y /32 

现在w_xx轴的索引,w_yy轴的索引:

# TODO: bound/error checking
tile_under_mouse = map[w_y][w_x]