0

Python IDLE で Leap-Motion 中心のコードを実行しているときに、別のウィンドウに切り替えると、IDLE は Leap コントローラーを無視し、frames の処理を​​停止します。たとえば、Leap ジェスチャを使用して他のウィンドウとやり取りできるようにするには、どうすればこれを回避できるでしょうか?

あまり関係ありませんが、この問題を再現するコード:

import Leap
from Leap import *

class FocusListener(Leap.Listener):
    def on_frame(self, controller):
        frame = controller.frame()
        print frame

def main():
    # Create a sample listener and controller
    listener = FocusListener()
    controller = Leap.Controller()

    controller.add_listener(listener)

    while (1):
        listener.on_frame(controller)


if __name__ == "__main__":
    main()

PS:これは、フレームを「合成的に」ループしているという事実と関係があるのwhileでしょうか?

4

1 に答える 1

1

アプリがフォーカスされていないときにフレームを取得するには、「背景フレーム」ポリシーを設定する必要があります。

controller.set_policy_flags(Leap.Controller.POLICY_BACKGROUND_FRAMES);

参照: https://developer.leapmotion.com/documentation/python/api/Leap.Controller.html#Leap.Controller.set_policy_flags

于 2014-03-03T23:34:07.017 に答える