用户:
宇宙中的星系查看:953 回复:5 评论:17 创建时间:2023-08-09T19:20:18

emm......这个问题咋解决?
你的size在初始化的时候是:
size[n]=(20,50)
调用时也肯定会是以元组的格式出来
如果你是按(直径,线宽)的形式定义的话,我想可能改成
pygame.draw. circle(screen, BLACK[n], locations[n], size[n][0], size[n][1])
可以解决这个bug
点赞0
评论
.........不行,我发上面了
你在改的时候改错了,4、5项是size里的,location不应该拆开
忘看了,有五项 ..............
一般来讲代码不能运行是85~90%人为疏漏的语法错误,剩下才是轮子和逻辑的问题
嗯嗯嗯嗯
emmm......你再看看吧...
。。。看你的代码是“房间里下落的雨滴”。如果你想要实心圆,你的size[n][1]应该是0,反之,其线宽size[n][1]应满足(size[n][1]<=size[n][0])==True 即第十三行代码(20,50)的更改(我读书少,盲猜你本来想写(50,20)或者别的,你的求助帖又没给注释……)
<换成左尖括号,可能是猫站的bug
一个字没听懂
你说的应该是报错的翻译吧?
报错的翻译我已经翻译在下面了
第十三行代码20、50互换
还是不行,你看上面吧
宇宙中的星系
翻译:
回溯(最近一次调用):
文件 “C:UsersLenovoDesktop房间平面图下落的雨点.py”,第 22 行,在<module>
pygame.draw.circle(screen, BLACK[n], locations[n],size[n][0],size[n][1])
索引错误:元组索引超出范围
点赞0
评论
import pygame,random
pygame.init()
screen = pygame.display.set_mode([800, 600])
BLACK =(0,0,255)
keep_going = True
cont=500
clors= [0]* cont
locations = [0] * cont
size = [()]*cont
for n in range (cont):
clors[n] = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
size[n] = (20,10)
locations[n] = (random.randint(0, 800), random.randint(0, 600))
while keep_going:
for event in pygame.event.get():
if event == pygame.QUIT:
keep_going =False
break
print(event)
for n in range(cont) :
#pass
pygame.draw. circle(screen, BLACK, locations[n], size[n][0],size[n][1])
pygame.display.flip()
这是最小化重现
点赞1
评论
event改成event.type
嘿嘿嘿,我做好了,谢谢
这是链接:https://shequ.codemao.cn/community/557320