之前可能已经提出这个问题,但由于我缺乏正确的英语条款,我最终还是离开了这里。 (我是芬兰语)之前可能会问过,但我还能做些什么呢?
但是我有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=???
答案 0 :(得分:1)
您只需将绝对(屏幕)坐标与正方形的大小相除即可。因此,如果您的方块的大小是例如32
,您可以使用类似
x, y = pygame.mouse.get_pos()
# TODO: use a constant
w_x, w_y = x / 32, y /32
现在w_x
是x
轴的索引,w_y
是y
轴的索引:
# TODO: bound/error checking
tile_under_mouse = map[w_y][w_x]