在pygame上开发基于图块的游戏。我试图读取文本文件作为地图,但是,我不断收到类型错误,我不知道该如何解决

    for row, tiles in enumerate(self.map_data):
        for col, tile in enumerate(tiles):
            if tile == "1":
                 np = Skull(col, row)
                 SKULL_LIST.append(np)

    for skl in SKULL_LIST:
        s = Skull(*skl)
        self.all_sprites.add(s)
        self.skulls.add(s)


我收到的错误消息:


  *之后的类型对象参数必须是可迭代的,而不是Skull

最佳答案

尝试用行s = Skull(*skl)替换行s = skl。 Skull(* skl)的含义是Skull(skl [0],skl [1],...),这不可能skl不是列表。如果您来自C或C ++,请注意,指针取消引用在Python中是隐式的,因此您无需在变量名前添加星号或&前缀。

关于python - 尝试使文本文件可读为 map 时,我不断收到错误消息“*后的类型对象参数必须是可迭代的,而不是头骨”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55310021/

10-09 21:35