Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:制作了点击拖动系统。它落后了_Python_Python 3.x_Pygame - Fatal编程技术网

Python:制作了点击拖动系统。它落后了

Python:制作了点击拖动系统。它落后了,python,python-3.x,pygame,Python,Python 3.x,Pygame,我正在做一个游戏,我已经做了一个点击拖动系统。唯一的问题是,当我拖动它的对象(在我的例子中是一个圆)时,它非常滞后,就像一个杂耍,但只有圆滞后。下面是该类中的函数: def select_func(self): mouse = pygame.mouse.get_pos() click = pygame.mouse.get_pressed() if click[0] == 1: if self.posX + self.radius > mouse[0]

我正在做一个游戏,我已经做了一个点击拖动系统。唯一的问题是,当我拖动它的对象(在我的例子中是一个圆)时,它非常滞后,就像一个杂耍,但只有圆滞后。下面是该类中的函数:

def select_func(self):
    mouse = pygame.mouse.get_pos()
    click = pygame.mouse.get_pressed()
    if click[0] == 1:
        if self.posX + self.radius > mouse[0] > self.posX - self.radius and self.posY + self.radius > mouse[1] > self.posY - self.radius and self.select is False:
            self.select = True
            while self.select:
                self.posX = mouse[0]
                self.posY = mouse[1]
                for squareNum in range (0, 100):
                    main.square_group.all(squareNum)
                    squareNum += 1
                    main.button(main.new_token, "New Token", main.grey, main.light_grey, main.brown, 800, 0, 200, 100, 22)
                if click[0] == 1:
                    self.select = False
                pygame.display.update()
                main.clock.tick(60)

while self中。选择
loop你不运行
的事件
get_pos()
,这样你就可以拥有旧数据。顺便说一句:我会说代码太复杂了furas,我不擅长编程(这段代码是自制的),所以你可以提出解决方案。简单的例子(使用标准
mainloop
)拖动矩形。对于圆,您必须更改鼠标按钮并绘制圆。如何更改鼠标按钮以绘制圆?