2010-04-10 111 views
1

我一直在使用PGU(菲爾的Pygame實用工具)一段時間。它有一個稱爲TDATA字典,其被作爲參數傳遞,同時裝載的瓷磚PGU瓷磚碰撞檢測

TDATA = {tileno:(agroup,hit_handler,配置)}

我正在其中我有2個基團的吃豆克隆:玩家和鬼魂,我想用相同類型的瓦片進行碰撞檢測。

例如,如果瓦片no是2,我希望此瓦片具有作爲玩家和鬼魂的羣組。我試圖做以下幾點:

TDATA = {0×02 :('玩家',tile_hit_1,配置),0x02的( '鬼',tile_hit_2,配置)}

然而,在這樣做,只給碰撞檢測鬼,而不是玩家。

任何關於如何爲玩家和具有相同類型瓦片的鬼魂執行碰撞檢測的想法?

回答

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) 

所以看的string2groups的definiton其開始於線369. agroups參數是在逗號分割的字符串。所以我認爲你可以在字符串中放入多個組的名字。

嘗試:

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