Сообщение Pygame - несколько строк? - PullRequest
3 голосов
/ 05 мая 2010

Я использую pygame и livewires (хотя я не думаю, что эта часть здесь важна) для создания игры. У меня игра работает, но я пытаюсь сделать что-то похожее на титульный экран до запуска игры. Тем не менее, он не распознает, когда я пытаюсь создать новую строку. Вот что у меня есть:

    begin_message=games.Message(value="""      Destroy the Bricks!\n
                                    In this game, you control a paddle,\n
                                    controlled by your mouse,\n
                                    and attempt to destroy all the rows of bricks.\n
                                    Careful though, you only have 1 life.\n
                                    Don't mess up! The game will start in\n
                                    5 seconds.""",
                            size=30,
                            x=games.screen.width/2,
                            y=games.screen.height/2,
                            lifetime=500,
                            color=color.white,
                            is_collideable=False)
games.screen.add(begin_message)

Сообщение появляется на экране, но новой строки не происходит, поэтому я могу прочитать только первую часть сообщения. Есть ли способ заставить это сообщение действительно появиться, или я не могу использовать «Сообщение» для этого?

Ответы [ 2 ]

3 голосов
/ 05 мая 2010

Livewires games.Message class не может этого сделать.

Просмотр исходного кода для игр. Сообщение показывает, что он наследуется от games.Text, который имеет метод _create_surface (). Наконец, это вызывает pygame.font.Font.render () для рисования текста на поверхности. Если вы посмотрите на документацию для render () , там написано

"Текст может быть только одной строкой: символы перевода строки не отображаются. "

Что касается того, как вы будете делать, что хотите, я бы предложил создать несколько объектов Message, по одному для каждой строки. Затем выводите их на экран один за другим.

0 голосов
/ 21 апреля 2011

На сайте есть несколько проектов рендеринга текста для pygame. Некоторые из них представляют собой модули Python (которые можно включать в файл локально, без установки.)

Более продвинутый - Символ .

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