0

Kivy アプリで仮想画面上の Dpad を作成することは可能ですか? Window は一度に 1 つのタッチ イベントしか受け付けないように見えるため、それが可能であるとは思えません。そのため、Dpad と 2 つのアクション ボタン (実際のボタン ウィジェットではなく、キャンバス上の画像を使用) を使用する方法はありません。

十字キーのタッチをラベルに受け入れることも考えましたが、ラベルの上に十字キーの実際の画像を描画すると、ラベルがタッチをキャッチしなくなります (推測)。

次に、コーナーに小さなウィンドウを作成することを考えました。これにより、独自のタッチが登録される可能性がありますが、メインウィンドウでウィンドウを作成することに関するkivyドキュメントには何も見られませんでした。

4

1 に答える 1

-1

解決しました。問題は私のコードではなく、当然のことながら、何年もプログラミングしてきました。ロジックを考え出すのは簡単な部分です。私の問題は、使用されている API セットを理解していないために発生します。それは、木の板で覆われた隅に電動チェーンソーがあることを知らずに、手鋸を使って木を切る道具小屋にいるようなものです。

タッチを「識別」して、それらを分離する方法があることを知りませんでした。あるタッチと次のタッチを識別できるようになったので、すべてが良さそうです。十分に流暢に感じられるまで、「Dpad」で作業する必要があります。画面上で Dpad の正しい位置が必要であり、方向を変更するためにほとんど動かしたくないため、その部分はそれほど簡単ではありません...そうしないと、プレイヤーの親指が画面全体でスライドします(笑)。私の経験では、すぐに完璧になると感じています。

Kivy はトリッキーです。毎回 touch に id 値を割り当てないと、id 自体が存在しなくなり (存在します!)、例外が発生することに気付きました。touch 内に既に存在する属性を使用しているため、それは奇妙です。代わりに、割り当てられていない属性に対して 'None' を返さないのはなぜですか?

ああ、せめてロープが首に巻かれるのを止めることができます。:D

于 2016-11-29T19:15:54.700 に答える