2010-05-05 6 views
3

나는 게임을 만들기 위해 파이 게임과 라이브 와이어를 사용하고 있습니다. 나는 게임을 작동시키지 만 게임이 시작되기 전에 타이틀 화면과 비슷한 것을 만들려고 노력하고 있습니다. 그러나 새 줄을 표시하려고하면 인식하지 못합니다.파이 게임의 메시지 - 여러 줄?

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) 

메시지가 화면에 나타납니다,하지만 줄 바꿈이 발생하지 않기 때문에 나는 단지 메시지의 첫 부분을 읽을 수 있습니다 여기에 내가 가진 것입니다. 이 메시지를 실제로 나타나게 할 수있는 방법이 있습니까, 아니면 이것을 위해 '메시지'를 사용할 수 있습니까?

답변

3

livewires games.Message 클래스는 이것을 수행 할 수 없습니다.

games.Message에 대한 소스 코드는 게임에서 상속 받았음을 보여줍니다 .Text에는 _create_surface() 메소드가 있습니다. 마지막으로 pygame.font.Font.render()를 호출하여 텍스트를 서페이스에 그립니다. 당신이 documentation for render() 보면, 그것은

는 "텍스트는 한 줄이 될 수 있습니다. : 개행 문자가 렌더링되지 않습니다"상태

당신이 원하는대로 할 수있는 한, 각 메시지 개체, 각 줄마다 하나씩 만드는 것이 좋습니다. 그런 다음 화면에 차례로 표시하십시오.

+0

또는 Message()의 여러 인스턴스를 포함하는 목록을 사용하십시오. – ninMonkey

0

사이트에는 파이 게임에 대해 여러 개의 text rendering projects이 있습니다. 일부는 파이썬 모듈입니다 (설치하지 않고 파일을 로컬에 포함 할 수 있습니다).

고급 모듈은 Glyph입니다.