Pygame中CSV关卡加载函数无法设置Game类的Player变量,原因何在?
Pygame CSV关卡加载系统出现AttributeError问题
我在Pygame项目中搭建了CSV文件加载系统,用来更便捷地创建和加载关卡。参考他人建议后,在Game类中编写了相关函数:
# CSV转换 def convert_csv_to_2d_list(csv_file: str): tile_map = [] with open(csv_file, "r") as f: for map_row in csv.reader(f): tile_map.append(map_row) return tile_map # 基于CSV的关卡加载(属于Game类,所以变量前都带self.) self.tile_map = convert_csv_to_2d_list(csv_file="Levels/Platforming/Level Map Potentially.csv") for row in range(len(self.tile_map)): for col in range(len(self.tile_map[row])): if self.tile_map[row][col] == 1: sprites.Tile(row * 32, col * 32, 1, self.tile_group) if self.tile_map[row][col] == 2: sprites.Tile(row * 32, col * 32, 2, self.tile_group, self.platform_group) if self.tile_map[row][col] == 3: sprites.Tile(row * 32, col * 32, 3, self.tile_group, self.platform_group) if self.tile_map[row][col] == 4: sprites.Tile(row * 32, col * 32, 4, self.tile_group, self.platform_group) if self.tile_map[row][col] == 5: self.player = sprites.Player(row * 32, col * 32, self.player_group, self.platform_group) if self.tile_map[row][col] == 6: sprites.Tile(row * 32, col * 32, 6, self.tile_group, self.platform_group) if self.tile_map[row][col] == 7: sprites.Tile(row * 32, col * 32, 7, self.tile_group)
运行主脚本时出现如下错误:
AttributeError: 'Game' object has no attribute 'player'
我已经在循环中设置了self.player属性,但不清楚为什么会出现这个错误。
内容的提问来源于stack exchange,提问作者Dominic B.
相关产品推荐
相关产品推荐

