【发布时间】:2018-01-19 20:49:27
【问题描述】:
我有问题。在我的 pygame 代码中,有一群恶棍,他们总是朝着英雄前进。在这个函数中,我尝试用一定的步数 (-5) 更新一个 villian 的每个矩形的 x 和 y 值,但是这些矩形不会从它们在屏幕上的初始阶段改变。功能有什么问题?谢谢。
def updateXY_villians():####################### not updating ################
global lstVillainRect
for villian in lstVillainRect:
villian = villian.move(-5, 0)
def CreateVillainsRect(lstVillainXY_type):
lstVillainRect = []
for x, y, tiles in lstVillainXY_type:
lstVillainRect.append(pygame.Rect(x, y, CUBE_WIDTH, CUBE_HEIGHT))
return lstVillainRect
def makeListOfVillainXY_type():
global lstVillainXY_type
lstVillainXY_type = []
lastI = 0
for i in range(CHARACTER_START_PLACE_X + 100, SCREEN_WIDTH - 20, 200):
type = random.randrange(0, 5)
x = random.randrange(lastI, i)
y = lst_villain_y[type]
lstVillainXY_type.append((x, y, type))
lastI = i
for x, y, type in lstVillainXY_type:
for restX, restY, restType in lstVillainXY_type:
if abs(x - restX) < CUBE_WIDTH:
lstVillainXY_type.remove((restX, restY, restType))
return sorted(lstVillainXY_type)
【问题讨论】:
-
你记得重绘它们吗?每次移动它们时都必须绘制它们
-
尼克它们是图像,带有 get_rect() 属性和它们的矩形列表
-
@YairHaber 他们还需要重绘,pygame不会自动更新它的屏幕,给我们看更多代码,还有,
villian是什么?villian.move确实返回villian还是返回None -
villian 是其中一个villian 的矩形,我遍历列表
标签: python python-2.7 pygame