我偶然發現了一個問題,我想通過連續While循環運行時增加類init方法中的變量。在運行while循環時更改方法變量
我的初始化方法創建一個矩形和我的其他方法繪製(自我)繪製到屏幕上。在While循環中,我將矩形的y位置增加7(rect1.y + = 7),然後調用draw方法將對象打印到屏幕上。 現在,問題是對象不會按預期向下移動,並且是靜態的。
請注意,while循環在一個基本上每次更新屏幕的功能內,並且Class在該功能之外。我還使用它的所有屬性初始化實例,並在while循環中使用該實例調用draw()方法。
對不起,如果我沒有解釋得很好,但我希望你們至少知道發生了什麼。
有什麼建議嗎?
類:
class Rect():
def __init__(self, color, x, y, w, h):
self.color = color
self.x = x
self.y = y
self.w = w
self.h = h
def draw(self):
pygame.draw.rect(gameDisplay, self.color, [self.x, self.y, self.w, self.h])
while循環中的代碼:
gameDisplay.fill(white)
rect1 = Rect(black, rect1_randomx, 200, 100, 100)
rect1.y += rect_speed
rect1.draw()
rect_speed = 7是功能而不是while循環!
2個獨立的局部變量創建
rect1
?我們不知道,因爲你沒有展示足夠的代碼。 –