문제

나는 최근에 이 질문에 pyglet-사용자 그룹이지만,응답을 가지고,그래서 내가 여기 대신 합니다.

I would like to extend Pyglet 사용할 수 있는 적외선 입력 장치에 의해 지원되만.나는 사용 pyLirc 전( http://pylirc.mccabe.nu/ 가)PyGame 하고 싶은 다시 작성 내 응용 프로그램을 사용하 Pyglet 대신 합니다.

보려면 버튼을 누르면 당신은 일반적으로 폴 pyLirc 을 볼 수 있는 경우에 버튼을 누에 큐가 있습니다.

나의 질문은,무엇에서 올바른 방법 Pyglet 통합 pyLirc?

내가 선호하는 경우 그것은 작품에서 같은이었으로 현재 창의 키보드/마우스 이벤트이지만,나는 어디서부터 시작해야합니다.

나는 새로 만들 수 있습 EventDispatcher,에서는 등록할 수 있습니다 새로운 형태의 이벤트와 그들을 파견한 후에 투표는 다음과 같이

class pyLircDispatcher(pyglet.event.EventDispatcher):
    def poll(self):
        codes = pylirc.nextcode()
        if codes is not None:
            for code in codes:
                self.dispatch_event('on_irbutton', code)

    def on_irbutton(self, code):
        pass

하지만 어떻게 통합되는 응용 프로그램의 메인 루프 유지하면서 설문조사()내가 사용하는 경우 pyglet.app.run()와 어떻게 연결 이 eventdispatcher 내 창 그래서 그것은 동일하게 작동합으로 마우스 및 키보드 디스패처가?

나는 내가 설정할 수 있습니다 스케줄러 통화 투표()에서 정기적으로 pyglet.시계입니다.schedule_interval,하지만 이것은 올바른 방법으로 할 수 있나요?

도움이 되었습니까?

해결책

그것은 아마도 너무 늦게 협동,하지만 내가 응답할 것입니다 어쨌든 경우에 도움이 됩니다.

을 만드는 이벤트 발송자가 사용하여 pyglet.시계입니다.schedule_interval 전화 poll()에 정기적으로 좋은 방법입니다 그것을 할 수 있습니다.

을 첨부하는 이벤트 발송자가 당신의 창에서,당신은 필요하의 인스턴스를 만들기 위해 디스패처화한 다음 해당 push_handlers 방법:

dispatcher.push_handlers(window)

다음 당신을 치료할 수 있는 이벤트 같은 다른 모든 이벤트로 들어오는 창입니다.

다른 팁

올바른 방법은 무엇이든 효과가 있습니다. 더 나은 방법을 찾으면 나중에 항상 변경할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top