我目前正在使用python 2.7.5和pygame进行绘图程序。我在椭圆工具中遇到了一个错误,并向同学询问了一些帮助,他说我错过了一个.normalize()。我添加了它,我的工具已修复。我现在只是想知道那个功能是做什么的。这是它用于的代码:
if mb[0] == 1 and canvas.collidepoint(mx,my):
screen.set_clip(canvas)
if tool == "ellipse":
screen.blit(copy,(0,0))
radius = Rect(startx,starty,mx-startx,my-starty) #Area Ellipse is being drawn
radius.normalize()
if radius.height<sz2*2 or radius.width<sz2*2:
draw.ellipse(screen,(c),(radius))
else:
draw.ellipse(screen,(c),(radius), sz2)
screen.set_clip(None)
答案 0 :(得分:3)
第一个结果谷歌搜索“PyGame Rect Normalize”:
normalize()
correct negative sizes
normalize() -> None
如果矩形具有负尺寸,则会翻转矩形的宽度或高度。矩形将保留在同一个地方,只交换边。
因此,本质上它确保宽度和高度是正的,而不是负的。