繁体   English   中英

整数变量未在python中更新

[英]Integer variables not updating in python

在我的代码开始时,我做了两个变量

WINDOW_WIDTH = 400
WINDOW_HEIGHT = 300

稍后,在def main()中,如果发生事件的方式如下,我将对其进行更改

while True:

    for event in pygame.event.get():
        if event.type == VIDEORESIZE:
            DISPLAY = pygame.display.set_mode(event.dict['size'], HWSURFACE | DOUBLEBUF | RESIZABLE)
            # Here, the integers are supposed to be being changed
            WINDOW_WIDTH, WINDOW_HEIGHT = DISPLAY.get_size()
            print("%d, %d" % (WINDOW_WIDTH, WINDOW_HEIGHT))

 drawArena()

更改下方的打印语句表明已进行更改。 然后在drawArena()中执行以下操作:

print("Drawing (%d, %d)" % (WINDOW_WIDTH, WINDOW_HEIGHT))

但是窗口的高度和宽度没有变化,并且具有与首次初始化时相同的值。

您需要声明这些变量是全局变量

global WINDOW_HEIGHT,WINDOW_WIDTH
while True:
    for event in pygame.event.get():
        if event.type == VIDEORESIZE:
            DISPLAY = pygame.display.set_mode(event.dict['size'], HWSURFACE | DOUBLEBUF | RESIZABLE) # Here, the integers are supposed to be being changed
            WINDOW_WIDTH, WINDOW_HEIGHT = DISPLAY.get_size()
            print("%d, %d" % (WINDOW_WIDTH, WINDOW_HEIGHT))

drawArena()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM