如何解决NameError:未定义名称“事件”
我尝试运行我为游戏学校项目编写的这段代码,当尝试在屏幕上放置一些按钮时,使用 pygame_widgets 字典,我尝试将创建按钮的整个过程放在一个函数中,但函数需要阅读事件日志以了解按钮是被按下还是悬停......而编译器只是不断崩溃。
import pygame
import pygame_widgets
pygame.init()
WIDTH = 600
HEIGHT = 600
font_face_name = 'Merriweather-Regular.ttf'
SCREEN = pygame.display.set_mode((WIDTH,HEIGHT))
pygame.display.set_caption('SUDOKU game')
WHITE = (0,0)
BLACK = (255,255,255)
logo = pygame.transform.scale(pygame.image.load('assets/sudoku].png'),(150,150))
background_image = pygame.transform.scale(pygame.image.load('assets/2.jpg'),(600,600))
def write_on_SCREEN(surface,font_face,font_weight,text,color,x,y):
my_font = pygame.font.SysFont(font_face,font_weight)
logo_label = my_font.render(text,True,color)
surface.blit(logo_label,(x,y))
pygame.display.update()
def button_on_SCREEN(surface,position_x,position_y,button_width,button_height,button_label,label_size,button_margin,color_inactive,color_pressed,color_hover,button_radius,on_click_function):
button = pygame_widgets.button.Button(surface,text=button_label,fontSize=label_size,margin=button_margin,inactiveColour=color_inactive,pressedColour=color_pressed,hoverColour=color_hover,radius=button_radius,onClick=on_click_function)
button.listen(event)
button.draw()
def draw_on_SCREEN():
SCREEN.blit(background_image,(0,0))
SCREEN.blit(logo,(225,80))
write_on_SCREEN(SCREEN,font_face_name,60,'sudoku game',WHITE,170,20)
def main():
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
draw_on_SCREEN()
button_on_SCREEN(SCREEN,250,400,200,100,'PLAY',40,30,(226,175,255),(222,(192,253,20,lambda: print('clicked'))
pygame.display.update()
pygame.quit()
if __name__ == '__main__':
main()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。