Python 如何向列表中添加属性以访问y坐标

Python 如何向列表中添加属性以访问y坐标,python,pygame,Python,Pygame,我有一个创建矩形的函数。使用for循环,我创建了几个矩形,并将它们存储在名为list的矩形中。 这些是敌人的矩形 类矩形: 定义初始值(自身、颜色、x、y、w、h): self.c=颜色 self.x=x self.y=y self.w=w self.h=h self.rect=pygame.rect(self.x,self.y,self.w,self.h) def更新(自身、矩形): 自校正y+=sy rectlist=[r!如果r!=self,则矩形中r的r.rect] 如果自校正y>高度:

我有一个创建矩形的函数。使用for循环,我创建了几个矩形,并将它们存储在名为list的矩形中。 这些是敌人的矩形

类矩形:
定义初始值(自身、颜色、x、y、w、h):
self.c=颜色
self.x=x
self.y=y
self.w=w
self.h=h
self.rect=pygame.rect(self.x,self.y,self.w,self.h)
def更新(自身、矩形):
自校正y+=sy
rectlist=[r!如果r!=self,则矩形中r的r.rect]
如果自校正y>高度:
self.rect.y=-25
self.rect.x=random.randint(10900)
而self.rect.collidateList(rectlist)>-1:
self.rect.x=random.randint(10900)
def牵引(自):
pygame.draw.rect(display,self.c,self.rect)
对于范围(6)内的计数:
r_c=random.randint(0255),random.randint(0255),random.randint(0255)
create_new=True
新建时:
r_x=random.randint(10900)
r_y=random.randint(0,10)
r_w=random.randint(60100)
r_h=random.randint(40,80)
矩形=矩形(r_c,r_x,r_y,r_w,r_h)
create_new=rectangle.rect.collidelist(rectlist)>-1
矩形。追加(矩形)
rectlist.append(rectangle.rect)
pc=p.ALL(矩形)
k=透镜(pc)
p
是我们玩家的名字。 我想知道它与哪个矩形发生了碰撞,因为我想找出玩家y坐标和敌人y坐标之间的差异

ob=[pc中i的矩形[i]
我将发生碰撞的矩形存储在列表中。 我想访问这些矩形的y坐标,并对其执行一些操作,但列表ob没有访问y坐标所需的属性。 如何访问y坐标


感谢您的帮助

ob
是一个
矩形
对象列表。
Rectangle
对象具有
rect
rect
是一个对象

您可以通过从列表中获取矩形。例如,获取列表中第一个矩形的
y
坐标:

y=ob[0]。rect.y
或访问循环中的所有元素:

对于ob中的r:
y=r.rect.y