是否有一种方法可以在pygame中实现精灵,当拖动时,捕捉到不可见(或可见)的网格?有点像拖累?如果是这样,怎么样?我一直试图做一些精灵重叠,但是为每个网格线制作一个if语句太繁琐了。那么如何制作一个对齐网格的拖放精灵呢?这是一个国际象棋程序。我很感激你的帮助。
答案 0 :(得分:2)
使用for循环制作棋盘角落数组。
corners = []
for x in range(edgeRight, edgeLeft, interval):
for y in range(edgeTop, edgeBottom, interval):
corners.append((x,y))
然后,创建一个事件监听器。在拖动文章时,将此代码插入到您拥有的任何while
语句中:
px, py = Piece.Rect.topleft //using tuples to assign multiple vars
for cx, cy in corners:
if math.hypot(cx-px, cy-py) < distToSnap:
Piece.setPos((cx,cy))
break
我不知道你的实际代码是什么,但这应该会给你一个想法。同样,pygame
没有对齐网格功能。
答案 1 :(得分:0)
因此,可以使用python中的round函数非常简单地完成此操作。
SELECT * from users
这通过将精灵的坐标四舍五入到最近的网格正方形来操纵舍入功能。