【发布时间】:2016-08-31 14:15:50
【问题描述】:
我正在使用 pygame 制作一个小型平台游戏,并决定为每个级别制作一个关卡编辑器比输入每个块的坐标和大小更容易。
我正在使用一组水平和垂直的线来制作网格,以便更容易地绘制点。
这是我的网格的代码:
def makeGrid(surface, width, height, spacing):
for x in range(0, width, spacing):
pygame.draw.line(surface, BLACK, (x,0), (x, height))
for y in range(0, height, spacing):
pygame.draw.line(surface, BLACK, (0,y), (width, y))
我希望用户的鼠标以 10px 的间隔移动,只移动到交叉点。这是我试图强制鼠标捕捉到网格的内容。
def snapToGrid(mousePos):
if 0 < mousePos[0] < DISPLAYWIDTH and 0 < mousePos[1] < 700:
pygame.mouse.set_pos(roundCoords(mousePos[0],mousePos[1]))
(顺便说一句,roundCoords() 返回四舍五入到最接近的十个单位的坐标。)
(顺便说一句,snapToGrid() 在主游戏循环中被调用(虽然没有完成))
...但是this 发生了,鼠标不想移动到其他任何地方。
关于如何解决此问题的任何建议?如果需要,我也可以更改网格代码。 非常感谢。
附注这是在 64 位 Python 2.7 上使用最新版本的 PyGame
【问题讨论】:
标签: python python-2.7 pygame grid-layout