我使用PGU(Phil's Pygame Utilities)已经有一段时间了。它有一个名为tdata的字典,该字典在加载切片时作为参数传递
tdata ={tileno:(组,hit_handler,配置)}
我正在制作一个吃豆人克隆,其中我有两个组:玩家和幽灵,我想用相同类型的瓷砖进行碰撞检测。
例如,如果瓦片编号是2,我希望这个瓦片既有玩家又有幽灵。我尝试了以下操作:
tdata = {0x02:(‘播放器’,tile_hit_1,配置),0x02:('ghost',tile_hit_2,配置)}
然而,在这样做的时候,它只为重影提供碰撞检测,而不是玩家。
你有什么想法,我可以做碰撞检测的球员和幽灵在同一类型的瓷砖?
发布于 2010-04-14 18:32:51
我已经看过了源代码:http://code.google.com/p/pgu/
在vid.py (http://code.google.com/p/pgu/source/browse/trunk/pgu/vid.py)中,有加载tdata信息的代码。
第300行:def tga_load_tiles(self,fname,size,tdata={}):
然后在第324和325行:
agroups,hit,config = tdata[n]
tile.agroups = self.string2groups(agroups)看一下string2groups的定义,从第369行开始。agroups参数是一个以逗号分隔的字符串。因此,我认为您可以将多个组的名称放入字符串中。
尝试:
tdata = {0x02: ('player,ghost', tile_hit, config)}
https://stackoverflow.com/questions/2611839
复制相似问题