Этикетка в пиглете не рисуется в партии

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

def _text(self, command):
    uid, x, y, chars, font, size, level = command[1:]
    print 'Text - uid=%s, x=%s, y=%s chars=%s, font=%s, size=%s, level=%s' % (uid, x, y, chars, font, size, level)
    self._ents[uid] = (pyglet.text.Label(chars,
        color=(0, 0, 0, 0),
        font_name=font,
        font_size=size,
        batch=self._batch,
        group=self._get_level_group(level)), level)
    print self._ents[uid][0].batch

Печатная партия имеет тот же адрес памяти для каждой метки, которую я создаю, и такой же, как и для любых спрайтов, которые я создаю. Я попытался немного покопаться в исходном коде и попытаться выяснить, что пошло не так, но в каждый момент, когда я распечатывал пакет, адрес памяти один и тот же. Странная часть заключается в том, что когда я помещаю инструкцию print в место, где Label будет рисовать себя односторонним образом, если у него есть собственный пакет, или если ему был предоставлен пакет, он будет печатать материал только под той ветвью, где ему принадлежит собственная партия. Если я распечатаю адрес памяти пакета в тот момент, он будет отличаться от всех остальных. Почему-то кажется, что он видит, что должен иметь собственную партию, и создает новую, а не ту, которую я предоставляю.

РЕДАКТИРОВАТЬ: я чувствую себя глупо. Это прекрасно работает с этим кодом... как только я добавляю x=x, y=y в код создания Label. По умолчанию это был левый нижний угол экрана, и символы, которые я пытался нарисовать, были подчеркиванием, поэтому я не мог их видеть. Я либо добавлю ответ на этот вопрос, как только СО позволит мне, либо кто-то другой может вставить ответ для х / у, и я приму его.

1 ответ

Решение

Я чувствую себя глупо Это прекрасно работает с этим кодом... как только я добавляю x=x, y=y в код создания Label. По умолчанию это был левый нижний угол экрана, и символы, которые я пытался нарисовать, были подчеркиванием, поэтому я не мог их видеть. Я исправил это, и теперь все в порядке.

Другие вопросы по тегам