Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.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 Pygame collidepoint()工作不正常_Python_Python 3.x_Pygame_Click - Fatal编程技术网

Python Pygame collidepoint()工作不正常

Python Pygame collidepoint()工作不正常,python,python-3.x,pygame,click,Python,Python 3.x,Pygame,Click,我在做一个游戏,你砍树,并且想要它,这样你只能砍掉50像素半径内的树。在游戏中,你的位置的每个方向大约有一棵树,用一个正方形表示。问题是,当我测试它时,我发现它只工作了一次,我的意思是你只需要移动来阻止半径屏障工作,你就可以摧毁任何一棵树。有人能告诉我为什么会发生这种情况以及如何解决它吗?代码如下: 我只放一点让虫子飞起来的东西 树对象在树类中排序,方法是destroy来销毁树 对于树中树: 如果pygame.mouse.get_按下[0]和tree.trunk.collidepointpyga

我在做一个游戏,你砍树,并且想要它,这样你只能砍掉50像素半径内的树。在游戏中,你的位置的每个方向大约有一棵树,用一个正方形表示。问题是,当我测试它时,我发现它只工作了一次,我的意思是你只需要移动来阻止半径屏障工作,你就可以摧毁任何一棵树。有人能告诉我为什么会发生这种情况以及如何解决它吗?代码如下:

我只放一点让虫子飞起来的东西 树对象在树类中排序,方法是destroy来销毁树 对于树中树: 如果pygame.mouse.get_按下[0]和tree.trunk.collidepointpygame.mouse.get_位置: 鼠标x,鼠标y=pygame.mouse.get\u pos 打印“单击树”以进行测试 如果鼠标_x您必须评估坐标是否在一个范围内,在一个相同的条件下。你实际做的是:

如果x<值+50: 倒计时=3 elif x>值-50: 倒计时=3 始终满足其中一个条件,并且在任何情况下都会在结束时设置倒计时

条件必须是:

如果x-51 鼠标x,鼠标y=pygame.mouse.get\u pos 对于树中树: 如果pygame.mouse.get_按下[0]和tree.trunk.collidatepointmouse_x,mouse_y: 打印“单击树”以进行测试 dx=鼠标x-x dy=鼠标_y-y 如果absdx