PGU Tiles碰撞检测

时间:2010-04-10 01:05:31

标签: python pygame

我一直在使用PGU(Phil的Pygame Utilities)。它有一个名为tdata的字典,它在加载tile时作为参数传递

tdata = {tileno:(agroup,hit_handler,config)}

我正在制作一个pacman克隆,其中我有两组:玩家和幽灵,我想用相同类型的磁贴进行碰撞检测。

例如,如果tile no为2,我希望这个tile具有agroups作为player和ghost。我尝试了以下操作:

tdata = {0x02 :('player',tile_hit_1,config),0x02:('ghost',tile_hit_2,config)}

然而,在这样做时,它只为幽灵而不是玩家提供碰撞检测。

关于如何使用相同类型的磁贴对播放器和幽灵进行碰撞检测的任何想法?

1 个答案:

答案 0 :(得分:0)

我已经查看了源代码: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)

所以查看从第369行开始的string2groups的定义.agroups参数是一个用逗号分隔的字符串。所以我认为你可以在字符串中输入多个组的名称。

尝试:

tdata = {0x02: ('player,ghost', tile_hit, config)}

相关问题