首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >button.Button类错误:‘button_list button.Button’.....:(使用replit

button.Button类错误:‘button_list button.Button’.....:(使用replit
EN

Stack Overflow用户
提问于 2021-06-10 16:19:44
回答 1查看 41关注 0票数 1

我正在按照在线教程为平台游戏创建地图编辑器,但我的导入按钮功能不起作用,显示错误'button_list not defined‘,但我看不出这是为什么,因为我已经将其定义为空列表?我有以下按钮类的代码。

代码语言:javascript
复制
import pygame
import button

def button():
    button_list = []
    button_col = 0
    button_row = 0
    for i in range(len(img_list)):
        tile_button = button.Button(SCREEN_WIDTH + (75 * button_col) + 50, 75 * button_row + 50, img_list[i], 1)
        button_list.append(tile_button)
        button_col += 1
        if button_col == 3:
            button_row += 1
            button_col = 0

这没有错误,运行正常(当然屏幕上没有任何东西),但当我用下面的代码绘制它时,错误发生了……请帮帮我!

代码语言:javascript
复制
for i in button_list:
    i.draw(screen)
EN

回答 1

Stack Overflow用户

发布于 2021-06-10 16:30:37

如果要在函数的全局名称空间中定义变量,则必须使用global statement

代码语言:javascript
复制
def button():
    global button_list 

    button_list = []

    button_col = 0
    button_row = 0
    for i in range(len(img_list)):
        # [...]
代码语言:javascript
复制
button()
for i in button_list:
    i.draw(screen)

或者,您可以在全局名称空间中定义button_list

代码语言:javascript
复制
button_list = []

def button():
    button_col = 0
    button_row = 0
    for i in range(len(img_list)):
        tile_button = button.Button(SCREEN_WIDTH + (75 * button_col) + 50, 75 * button_row + 50, img_list[i], 1)
        button_list.append(tile_button)
        button_col += 1
        if button_col == 3:
            button_row += 1
            button_col = 0
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67917350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档