我正在pygame中制作一个简单的游戏,并且在尝试减少代码时遇到错误。
bulletDirectionBoolean = [bulletRight,bulletLeft,bulletDown,bulletUp]
firstTime = [firstTime1,firstTime2,firstTime3,firstTime4]
bulletDirectionX = [bulletRightX,bulletLeftX,bulletDownX,bulletUpX]
bulletDirectionY = [bulletRightY,bulletLeftY,bulletDownY,bulletUpY]
bulletDirectionmoving = [bulletRightX,bulletUpY]
directionList = [1,-1,1,-1]
limits = [screenX,-20,screenY,-20]
for i in range(4):
if bulletDirectionBoolean[i] or powerupAbility[3]:
if firstTime[i]:
firstTime[i] = False
bulletDirectionX[i] = player_posX
bulletDirectionY[i] = player_posY
screen.blit(bullet_img,(bulletDirectionX[i],bulletDirectionY[i]))
bulletDirectionmoving[i] += bulletSpeed*directionList[i]
if directionList[i] == 1:
if bulletDirectionmoving[i] > limits[i]:
bulletDirectionBoolean = False
firstTime[i] = True
if directionList[i] == -1:
if bulletDirectionmoving[i] < limits[i]:
bulletDirectionBoolean = False
firstTime[i] = True
这是失败的代码块。 for循环后的第一行是它的中断位置。 powerupAbility是代码中未显示的另一个具有布尔值的列表。列表bulletDirectionBoolean也是如此。列表中的所有值都是由用户控制的布尔值。我正在尝试同时为四个不同的项目符号访问每个列表中的每个值。
为什么会给我这个错误,我该怎么解决?