安卓端运行Pygame无法绘制矩形、屏幕填充报错如何解决
代码问题诊断
你当前的代码存在2处通用Pygame语法书写错误,和安卓运行环境无关:
- 第一处错误:屏幕对象赋值错误
原代码错误拆分了set_mode的调用语句:
此处你把# 错误写法 screen = pygame.display set_mode((0, 0))screen赋值成了pygame.display模块本身,而非set_mode返回的Surface画布对象,所以调用fill方法会报错。正确写法是将两句合并:screen = pygame.display.set_mode((0, 0)) - 第二处错误:矩形绘制语句的括号位置错误
原代码错误把pygame.Rect的右括号提前:
括号位置错误会导致语法解析失败,矩形自然无法正常绘制,调整括号位置即可:# 错误写法 pygame.draw.rect(screen, Square, pygame)Rect(100, 100, 200, 200)pygame.draw.rect(screen, Square, pygame.Rect(100, 100, 200, 200))
修正后可运行的完整代码
import pygame pygame.init() # 修正屏幕对象赋值 screen = pygame.display.set_mode((0, 0)) white = (255, 255, 255) Square = (0, 0, 0) loop = True while loop: # 补充事件循环避免程序无响应,安卓端可适配返回键退出逻辑 for event in pygame.event.get(): if event.type == pygame.QUIT: loop = False screen.fill(white) # 修正矩形绘制的括号位置 pygame.draw.rect(screen, Square, pygame.Rect(100, 100, 200, 200)) pygame.display.update() pygame.quit()
内容的提问来源于stack exchange,提问作者Chainz Games
相关产品推荐
相关产品推荐

