|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 fffccc8080 于 2023-7-20 08:59 编辑
按C键实现功能,弹出一个UI界面,再按C关闭,C键是个开关,但现在只能开,再按C时没反应了UI界面还在显示着呢。
- import pygame,sys
- pygame.init()
- WINDOW_SIZE = (800, 600)
- screen = pygame.display.set_mode(WINDOW_SIZE)
- font = pygame.font.Font('joystix.ttf',30)
- text = font.render('Hello,world!',True,(255,255,255))
- text_rect = text.get_rect(center=(400,300))
- #初始化UI界面状态
- ui_visible = False
- #游戏循环
- while True:
- for event in pygame.event.get():
- if event.type == pygame.QUIT:
- pygame.quit()
- sys.exit()
- elif event.type == pygame.KEYDOWN:
- if event.key == pygame.K_c:
- #切换UI状态
- ui_visible = not ui_visible
- #如果UI界面可见,渲染UI界面
- if ui_visible:
- pygame.draw.rect(screen,(255,0,0),(100,100,600,400))
- screen.blit(text, text_rect)
- #更新屏幕
- pygame.display.update()
复制代码
如果UI界面可见,渲染UI界面。如果不可见的话,怎么关掉UI界面而不影响它底下的内容。
当然这种代码非常简单的,在if ui_visible的反向判断处直接 screen.fill((0,0,0))就好了。
如果是复杂的游戏界面的话,怎么办,总不能直接用screen.fill((0,0,0))吧。
那个游戏代码详见B站UP主,小豆冰棍儿说人话的视频,怎么用Python(pygame)写出塞尔达!
|
|