Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.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)?_Python_Pygame - Fatal编程技术网

Python 正在检查具有异常的精灵碰撞(Pygame)?

Python 正在检查具有异常的精灵碰撞(Pygame)?,python,pygame,Python,Pygame,基本上,我有一个游戏,其中一个角色扔下一个气球。角色在放下气球时可以重叠气球,但一旦他们移出气球的矩形,他们就不能重叠气球(气球就像一个屏障) 如果我有类似的东西,角色会跳出气球的矩形。我想我需要使用某种布尔值来检查最初是否允许重叠,但我不确定如何实现。有什么想法吗 谢谢 这里有一个想法,获取气球的位置,并检查气球和屏障的位置是否相同。可能ballon应该有balloon.barrier=True/False,因此您可以使用它来控制是否可以重叠气球。您有三种情况:1。在你第一次参观巴隆之前,你可

基本上,我有一个游戏,其中一个角色扔下一个气球。角色在放下气球时可以重叠气球,但一旦他们移出气球的矩形,他们就不能重叠气球(气球就像一个屏障)

如果我有类似的东西,角色会跳出气球的矩形。我想我需要使用某种布尔值来检查最初是否允许重叠,但我不确定如何实现。有什么想法吗


谢谢

这里有一个想法,获取气球的位置,并检查气球和屏障的位置是否相同。可能
ballon
应该有
balloon.barrier=True/False
,因此您可以使用它来控制是否可以重叠气球。您有三种情况:1。在你第一次参观巴隆之前,你可以进去重叠一下。2.您在气球内-您仍然可以重叠。3你离开气球-你不能重叠。你需要两个变量来控制它,即1。拜访=假,离开=假,2.拜访=真,离开=假,3。visited=True,leave=True。这里有一个主意,获取气球的位置,并检查气球和屏障的位置是否相同。可能
ballon
应该有
balloon.barrier=True/False
,因此您可以使用它来控制是否可以重叠气球。您有三种情况:1。在你第一次参观巴隆之前,你可以进去重叠一下。2.您在气球内-您仍然可以重叠。3你离开气球-你不能重叠。你需要两个变量来控制它,即1。拜访=假,离开=假,2.拜访=真,离开=假,3。访问=真,离开=真。
    for balloon in balloons:
        if self.rect.colliderect(balloon.rect):
            if d == 'right': 
                self.rect.right = balloon.rect.left
            if d == 'left': 
                self.rect.left = balloon.rect.right
            if d == 'forwards': 
                self.rect.bottom = balloon.rect.top
            if d == 'backwards': 
                self.rect.top = balloon.rect.bottom