如何从类中修改pygame中的玩家x,player_y

问题描述 投票:0回答:1

我正在

pygame
中制作游戏,我想修改课堂上的球 x / 球 y。代码是这样的:

class Wall:
    def __init__(self, blah, blah):
        # init stuff
    def update(self, ball_rect):
        self.rect = pygame.Rect(self.x, self.y, self.size[0], self.size[1]);
        if self.rect.colliderect(ball_rect):
            self.ball_x += 1;
            self.ball_y += 1;
    def draw(self, display):
        #draw stuff

我将ball_x、ball_y设置为全局,但是不起作用。

python pygame global
1个回答
0
投票

我通过在主循环和类中设置全局来解决这个问题,如下所示:

def ball_program():
    global ball_x, ball_y;

class Wall:
    def __init__(self, blah, blah):
        # init stuff
    def update(self, ball_rect):
        global ball_x, ball_y;
        self.rect = pygame.Rect(self.x, self.y, self.size[0], self.size[1]);
        if self.rect.colliderect(ball_rect):
            self.ball_x += 1;
            self.ball_y += 1;
    def draw(self, display):
        #draw stuff
© www.soinside.com 2019 - 2024. All rights reserved.