ПГУ Плитка обнаружения столкновений - PullRequest
1 голос
/ 10 апреля 2010

Я уже некоторое время использую PGU (утилиты Фила Пигама). У него есть словарь под названием tdata, который передается в качестве аргумента при загрузке тайлов

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

Я делаю клон pacman, в котором у меня есть 2 группы: игрок и призрак, для которых я хочу обнаружение столкновений с одним и тем же типом плитки.

Например, если плитке нет 2, я хочу, чтобы эта плитка имела группы как игрока, так и призрака. Я пытался сделать следующее:

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

Однако, делая это, он дает обнаружение столкновений только для призрака, а не для игрока.

Какие-нибудь идеи о том, как я могу сделать обнаружение столкновений для игрока и призрака с одним и тем же типом плитки?

1 Ответ

0 голосов
/ 14 апреля 2010

Я посмотрел исходный код по адресу: 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)}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...