2013-07-21 5 views
5

나는 파이썬과 파이 게임을 사용하는 RPG 게임을 작업 중이며 기본 명령 줄과 같은 하단 부분과 상단 부분을 포함하여 두 부분으로 된 GUI를 만들려고합니다. 모든 그래픽 "액션"을 보여주는 부분.파이 게임 GUI에서 텍스트 입력을 받아들이는 방법

내가 알아야 할 것은 파이 게임 창과 터미널 창을 사용하는 대신 파이 게임 창에 둘 모두를 포함시키는 방법입니다. 또한이 사용에 적합한 Pygame GUI 툴킷이 있습니까?

감사합니다!

+0

이 더 많거나 적은 동일합니다 (당신이 알아야 할 모든이와 함께 제공되는 example.py에 있지만, 당신이 그것을 사용하여 도움이 필요한 경우 의견을 남겨 주시기 바랍니다) 내가하고있는 일과 ezText가 좋은 것처럼 보일 때 나는 그것을 사용 하겠지만, 나는 pgu에 대해서 모든 사람들에게 조언 할 것이다. 문서화가 잘되어 있지 않고 모든 작업을 어렵게 만듭니다. –

+0

입력이 여전히 필요한 경우이 파일은 유망한 시작과 같습니다 : http://www.pygame.org/pcr/inputbox/inputbox.py –

+0

사실 이것은 전체 파이 게임 세션에서 이벤트를 수집하므로 마음에 들지 않습니다. –

답변

5

대신 ezText를 사용 하시겠습니까? pygame에 텍스트를 추가하는 멋진 방법입니다. 나는 그것을 내 자신보다 먼저 사용했고 사용하기가 정말 쉽다.

http://www.pygame.org/project-EzText-920-.html

+0

고마워, 친구! 나는 이것을 사용할 것이라고 생각한다. – Pip

+1

텍스트 입력이 "포 그라운드"(마지막으로 클릭 한 항목)에 있는지 쉽게 식별 할 수 있습니까? 이벤트가 발생한 경우에 가장 좋을 것이므로이 경우에 업데이트되었고, 그렇게하기가 힘듭니다. –

2

파이 게임 (Pygame)과 피글렛 (Pyglet) 모두를위한 툴킷의 전체 목록은 여기 (http://wiki.python.org/moin/PythonGameLibraries)를보십시오. Albow (http://www.cosc.canterbury.ac.nz/greg.ewing/python/Albow/)는 과거 나를 위해 잘 돌아 왔습니다.

당신이 이야기하는 것을 달성하는 가장 쉬운 방법은 인터페이스의 각 부분에 하나씩 2 개의 표면을 작성한 다음 개별 모듈에서이를 지속적으로 업데이트하여 모든 프레임에 블리트되도록하는 것입니다. 이렇게하면 기본 모듈을 다음과 같이 단순화 할 수 있습니다.

import action_gui 
import cl_gui 
import pygame 

pygame.init() 
MAIN_SURF = pygame.display.set_mode((x, y)) 
pygame.display.set_caption('My Game') 

while (True): 
    action_surf = action_gui.update() 
    cl_surf = cl_gui.update() 
    MAIN_SURF.blit(action_surf, my_position_1) 
    MAIN_SURF.blit(cl_surf, my_position_2) 

행운을 빈다.

+0

아주 좋습니다 (유용 : D). 나는 이것을 사용하지 않을 것이라고 생각하지만 답변에 감사드립니다! 나는 이것을 결국 사용할 수있을 것이라고 확신한다! – Pip