マウスボタンを押したままマウスを動かすと長方形が表示されるなど、プログラムに描画ボックスを実装しようとしています。pygame rect オブジェクトでそれを実行しようとしていますが、これは私がこれまでに思いついたものです:
def mouseDown(self, button, pos):
if button == 1:
self.pressing = True
self.start = pos
def mouseUp(self, button, pos):
if button == 1:
self.pressing = False
def mouseMotion(self, buttons, pos):
if self.pressing == True:
width = abs(self.start[0] - pos[0])
height = abs(self.start[1] - pos[1])
self.box = pygame.Rect(self.start, width, height)
pygame.draw.rect(self.screen, (0,0,0), self.box, 1)
したがって、pos はクリックの座標であり、(0,0) は左上隅です。abs を使用して、マウスの移動量を比較してサイズを取得しようとしましたが、 abs は正の値しか返さないため、機能しません。
ボックス選択を可能にするためにこれを変更するにはどうすればよいでしょうか?