[英]How can I define multiple class objects with a for loop in python?
所以我正在用 pygame 制作一個基於瓷磚的基本游戲。 我需要在屏幕上渲染一個 20x20 的地磚網格。 我希望每個圖塊都是 object 的 class 因為玩家將能夠改變環境。
我需要將平鋪對象存儲在二維數組中。 我的問題是使用 for 循環定義所有對象,每個對象都有不同的名稱和屬性。
這甚至可以做到,還是有更好的方法在 pygame 中渲染圖塊?
這是 class,沒有必要顯示其他瓷磚渲染代碼,因為它甚至無法遠程工作:
visGround = [[]]
class groundTile(object):
def __init__(self, tileType, act_x, act_y, game_x, game_y):
self.tileType = tileType
self.act_x = act_x
self.act_y = act_y
self.game_x = game_x
self.game_y = game_y
提前致謝!
這應該做你需要的,
gridHeight = 20
gridWidth = 20
visGround = []
class groundTile(object):
def __init__(self, tileType, act_x, act_y, game_x, game_y):
self.tileType = tileType
self.act_x = act_x
self.act_y = act_y
self.game_x = game_x
self.game_y = game_y
for i in range(gridHeight):
visGround.append([])
for j in range(gridWidth):
visGround[i].append(groundTile('Title Type', 'Act X', 'Act Y', j, i))
print(visGround)
您可以調整頂部網格的大小,它將改變 2 arrays 的大小。 我在游戲 x 和 y 中放置了 i 和 j,假設它們代表網格上的位置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.