在 main.py 檔案中
from Level_Class import Level
from Player_Class import Player
level = Level(level_map)
在 Level_Class.py 檔案中
class Level:
def __init__(self, map):
self.tile_list = []
for row_index, row in enumerate(map):
for col_index, col in enumerate(row):
# print(row_index, col_index, col)
if col == "X":
tile_surf = pygame.Surface((100, 100))
tile_rect = tile_surf.get_rect()
tile_surf.fill("Grey")
tile_rect.x = col_index * 100
tile_rect.y = row_index * 100
# print(tile_rect.x, tile_rect.y)
tile = (tile_surf, tile_rect)
self.tile_list.append(tile)
# the only important part is the self.tile_list
在 Player_Class.py 檔案中
from main import level
class Player():
def __init__....
def update(self):
for tile in level.tile_list:
if tile[1].colliderect(self.player_rect.x diff_x, self.player_rect.y, 100, 100):
diff_x = 0
無法從部分初始化的模塊“Player_Class”匯入名稱“Player”(很可能是由于回圈匯入)(C:\Users\archi\PycharmProjects\5Game\Player_Class.py)
我的問題是如何在 main.py 中使用類 Level 的實體并在另一個檔案中的另一個類的函式中使用它?我想知道我是否可以以某種方式使用繼承,但我不確定這是否會對 python 有點陌生,所以對奇怪的格式感到抱歉。
我的問題是如何在 main.py 中使用類 Level 的實體并在另一個檔案中的另一個類的函式中使用它?我想知道我是否可以以某種方式使用繼承,但我不確定這是否會對 python 有點陌生,所以對奇怪的格式感到抱歉。
uj5u.com熱心網友回復:
您的Player_Class.py檔案從 匯入關卡main.py,從 匯入 Player Player_Class.py。這導致回圈匯入。您必須仔細檢查您的匯入并(如果您無法洗掉任何匯入)將其中一些放在嵌套范圍內(在類函式內部或某處)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/529252.html
標籤:Python班级哎呀进口
上一篇:代碼重構,在哪里實體化一個物件
