1

私はしばらくの間PGU(Phil's Pygame Utilities)を使用しています。tdataという辞書があり、タイルの読み込み中に引数として渡されます

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

同じタイプのタイルとの衝突検出を行うために、プレーヤーとゴーストの2つのグループを持つpacmanクローンを作成しています。

たとえば、タイル番号が2の場合、このタイルにプレーヤーとゴーストの両方としてグループを持たせたいと思います。私は次のことを試みました:

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

ただし、これを行うと、プレイヤーではなく、ゴーストの衝突検出のみが行われます。

同じタイプのタイルでプレイヤーとゴーストの両方の衝突検出を行う方法について何かアイデアはありますか?

4

1 に答える 1

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)

したがって、その定義はstring2groups369行目から始まります。agroupsパラメーターは、コンマで分割された文字列です。したがって、文字列に複数のグループの名前を含めることができると思います。

試す:

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

于 2010-04-14T10:32:50.763 に答える