python - 如何在 PyGame 中创建一个矩形作为精灵
问题描述
我只是想在 pygame 中创建一个矩形作为变量,但它显示了一个错误。我真的不知道如何解决它。谁能帮我?编码:
import pygame as py
screen = py.display.set_mode((1200, 700))
screen.fill((0, 0, 0))
rocket = py.draw.rect((screen), (225, 225, 225), (600, 350))
py.display.flip()
错误:
Traceback (most recent call last):
File "C:\Users\user\Desktop\Python\Project files\shooter_game.py", line 24, in <module>
rocket = py.draw.rect((screen), (225, 225, 225), (600, 350))
TypeError: Rect argument is invalid
解决方案
的第三个参数pygame.draw.rect()
必须是一个大小为 4 的元组。元组指定一个具有位置和大小的矩形:
py.draw.rect((screen), (225, 225, 225), (0, 0, 600, 350))
py.draw.rect((screen), (225, 225, 225), (600, 350, 20, 20))
pygame.draw.rect()
不生成pygame.Surface
对象。该操作在表面上绘制一个矩形并返回一个pygame.Rect
对象。
如果你想生成一个可以是一个表面的矩形对象,blit
那么你必须生成一个具有统一颜色的对象:pygame.Surface
fill()
rocket = py.Surface((20, 20))
rocket.fill((225, 225, 225))
screen.blit(rocket, (600, 350))
推荐阅读
- python - Django WhiteNoise 配置与 WhiteNoise v4.0 不兼容
- javascript - 数组映射函数
- .net-core - 是否可以将库注入库?
- python - 为什么我不能在 Pandas 中创建源自 drop 方法的对象?
- scala - spark递归修复类中的循环引用
- dart - 在 dart 中调用父构造函数之前执行代码
- amazon-web-services - AWS EMR Livy 会话状态已终止
- tensorflow - 注意力层输出形状问题
- r - 如何将日期列表转换为 POSIXlt 对象?
- javascript - .then() 中的 Promise.reject 返回未定义