PyGame:使矩形对象在显示边界内反弹

2024-04-27 00:08:24 发布

您现在位置:Python中文网/ 问答频道 /正文

目前我正在学习各种PyGame入门教程,我刚刚看完黑猩猩示例(位于here)。你知道吗

我希望有人能向我解释为什么下面的代码不会使表面对象(黑猩猩图像)从显示表面的底部反弹,并再次开始向顶部移动:

 def _walk(self):
    newpos = self.rect.move((self.move,1))

    if self.rect.left < self.area.left or \
    self.rect.right > self.area.right or \
    self.rect.top < self.area.top or \
    self.rect.bottom > self.area.bottom:

        self.move = -self.move

        newpos = self.rect.move((self.move,-1))
        self.image = pygame.transform.flip(self.image,1,0)

    self.rect = newpos

它似乎可以将对象向下移动到屏幕上,但不会导致它反转位置。而是卡在显示屏表面的底部。你知道吗

我见过一些类似的问题被问到,但我不太清楚解释的头尾,所以我提前道歉,如果人们看到这一切的时间。你知道吗

提前谢谢!你知道吗


Tags: or对象rectimageselfrightmovetop