Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 简单的问题:为什么';列表';对象没有属性';x';_Python_Pygame - Fatal编程技术网

Python 简单的问题:为什么';列表';对象没有属性';x';

Python 简单的问题:为什么';列表';对象没有属性';x';,python,pygame,Python,Pygame,如果这很简单,我很抱歉,但我找不到答案。我试图在pygame中随机获得敌人(他们应该是相同的,但随机繁殖) 所以我有课: class Enemy(object): def __init__(self, ...): ... self.visible = True #and then I wanna make a list of this object E1 = [] #in my while loop while True:

如果这很简单,我很抱歉,但我找不到答案。我试图在pygame中随机获得敌人(他们应该是相同的,但随机繁殖)

所以我有课:

class Enemy(object): 
       def __init__(self, ...):
          ...
          self.visible = True 
    #and then I wanna make a list of this object

E1 = []
#in my while loop 
while True:
      ...
      if event.type == USEREVENT+2:
                EN1.append(Enemy(10, 20, 64, 64, 259))

      if len(enemy_bullets) < 1:
            rocks.append(ro((round(EN1.x + EN1.width//2) - 30), (round(EN1.y + EN1.height//2) - 50), 23, 23)) 
我的错误是“list”对象没有属性“x”,如果我对此进行注释,则在
if E1.visible==True:
中出现另一个错误。。。它说:“列表”对象没有“可见”属性。
为什么?

正如@dcg在评论中所说,EN1是一个列表。你是附加到该列表中的,然后在该列表中你有你的类敌人对象。如果要访问某个敌人的某个属性,需要将其索引到该列表中(即EN1[敌人索引]),然后访问其中的变量,例如:

EN1[index].x

EN1
是一个列表,也许你想要的是
EN1[index]
其中
0然后我得到了
全局名称“index”没有定义
,顺便说一句,我想把它设为spaw random,这样pc就可以在1-5秒之间生成它(它应该生成随机数目的敌人,所以我不知道会有多少)。如果我尝试EN1.index[x],我会得到相同的错误,全局名称“x”没有定义。在这里,索引不是程序中的变量。名单上的哪个敌人是你想要的?如果它是第一个名称do EN1[0].x如果它是最后一个名称do EN1[-1].x.不起作用,如果我这样做,则列表索引超出范围您使用的索引是什么,执行此操作时列表的大小是多少?
EN1[index].x