list - 列表中的每个 blitted 图像都会消失而不是保留在屏幕上。我想用图像填满整个屏幕,因为它在随机位置闪烁
问题描述
import pygame
import random
pygame.init()
screen = pygame.display.set_mode((476,800))
clock = pygame.time.Clock()
win = pygame.display.set_mode((500, 600))
pygame.display.set_caption("DOGGO GAME")
dogimg = pygame.image.load('dog.png')
*doglist 将包含图像矩形,以便多个图像/实体将填满屏幕
doglist = []
dogx = []
dogy = []
污点触发元素的创建(狗图像rect = dogimg)
BLOT = pygame.USEREVENT
pygame.time.set_timer(BLOT, 500)
drawdog 对 doglist 中的图像进行 blits
def drawdog(doglist):
for dog in doglist:
screen.blit(dogimg, new_dog)
run = True
while run:
#pygame.time.delay(50)
win.fill((0, 0, 0))
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
if event.type == BLOT:
dogimg = pygame.image.load('dog.png')
dogranx = random.randint(50,200)
dograny = random.randint(50,450)
new_dog = dogimg.get_rect(midtop=(dogranx, dograny))
doglist.append(new_dog)
print(doglist)
drawdog(doglist)
pygame.display.update()
clock.tick(1)
pygame.quit()
解决方案
我能够通过替换来纠正它:
for dog in doglist
和
for new_dog in doglist
在前者中,我使用的是扩展。我将其更改为附加并使用后一个代码,并且它起作用了。
推荐阅读
- django - Django:如何自动设置正确的媒体文件夹权限?
- install4j - 如何诊断 Windows 上 install4j 生成的安装程序失败?
- go - 如何从反射切片中获取原始类型
- android - Android Here 高级 sdk - 更改离线地图的目录
- logging - 从 datapower 向 splunk 发送日志
- leaflet - Leaflet + Opendata + WGS 84 = 地理转型?
- python - 旋转或变换 2 功能
- javascript - 如何基于相等的属性值合并对象数组?
- python - 如何在 app.run() 之后销毁 pygubu 窗口?
- javascript - 模拟文件中的间谍功能