嗨我正在制作一个基本的光线投射引擎所以我认为从迷你地图开始会很好但问题是我的类地图在构造函数中要求一个mapGrid,当我传递它时python给我这个错误{ {1}}
这是代码: 主要部分
argument 2 to map() must support iteration
数据文件
import pygame
def map(object):
def __init__(self,grid,scale):
self.grid= grid
self.mapWidth= len(grid[0]) #Number of map blocks
self.mapHeight= len(grid)
self.miniMapScale= scale #How many pixels to draw a map block
self.miniWidth= self.mapWidth * self.miniMapScale #Size of the minimap
self.miniHeight= self.mapHeight * self.miniMapScale
self.rectGrid= grid
for y in range(self.mapHeight):
for x in range(self.mapWidth):
self.rectGrid[y][x]= pygame.Rect(x,y,self.miniWidth,self.miniHeight)
def blitMiniMap():
pass
地图类
mapGrid= [
[1,1,1,1],
[1,0,0,1],
[1,0,0,1],
[1,1,1,1]
]
size = [640, 480]
感谢。
答案 0 :(得分:2)
map
是一个python内置函数。因此,使用map
作为函数名会导致混淆,因此您应该考虑将map
函数重命名为不同的函数。
另外,你所说的" map class"只定义一个函数,而不是一个类。您是否在课程定义中将def
与class
混淆了?