問題タブ [kivy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
487 参照

python - スプライトの位置をラグなしで非常に高速に段階的に増加させる-Python

PythonでKivyを使用して学校のプロジェクト用のPONGゲームを作成しています。これまでのところ、このフォーラムのおかげで、NPCパドル用のAIを作成しました。これはコードです:

これは、ArtificialIntelligence()と呼ばれるPongGame()クラスのメソッドにあります。

私はこれを使ってそれを呼びます:

これにより、1/300秒に1回呼び出すことができます。ただ、1/300以上なら何の違いもないようです。つまり、1/9001は1/9001秒ごとに1回は呼び出されません。

それが機能する方法は、ボールの位置に対してy座標を4ピクセル増やすことであり、これは1/300秒ごとに1回行われるため、この速度で「遅れ」ることはありません。これは基本的にプレイヤーにとって「簡単な」モードです。「ハード」モードを実行したい場合は、NPCをより正確にする必要があります。私はこれを行うことによってこれを行うことができます

このようなもの。これは非常に正確です。ただし、「流動的」ではなく、「遅延」しているように見えます。ピクセルの動きを変更して移動量を変更する代わりに、メソッドをより頻繁に呼び出すことで、同じ量の移動を取得できると思います。ただし、これを行う方法はわかりません。前述したように、1/300より上から変更しても違いはないようです。

これが私のパドルの使い方です:

マウスを動かすと更新されるので、好きなだけ速く動かすことができます。また、更新が必要な頻度で更新されるため、流動的に見えます。AIでこれを行う方法がわかりません。

基本的にNPCパドルをより正確にして、流動性とラグを維持しながら、イージー-ノーマル-ハードなどを実行できるようにする方法を知っている人はいますか?私はそれを行うことができる唯一の方法を見ています:メソッドが呼び出される量を増やします。

しかし、私はもっと良い方法があるに違いない、そして私はそれをする方法を知らない。誰かが私がこれをどのように行うことができるかについて何か考えを持っていますか?ありがとう。

編集:私はこのようにそれを行うことができるように見えます:

しかし、それは本当に醜くて本当に非効率的なようです...私はもっとクリーンな方法を好むでしょう。

0 投票する
1 に答える
1884 参照

python - Kivy のウィジェットを理解する

私は初心者プログラマーで、現在、GUI プラットフォームとして kivy を使用して Python を学習しています。

私はkivyのマニュアルを読んでいて、ウィジェットに取り組んでいました。チュートリアル ペインタ ウィジェットでいくつか試してみたかったのですが、何時間も試してみましたが、できませんでした。

私が望むものは非常に単純でなければなりません。画面に触れた後にランダムな線を作成するウィジェットがあります。画面の特定の部分をタッチすると、自動でセリフを繰り返し追加できたら面白いなと思いました。そこで、ウィジェットにデータを「注入」して、より多くの行を作成し続ける関数を作成しました。

しかし、ウィジェットと「通信」することはできません。ウィジェットの「インスタンス」名が何であるかわかりません。そこで、インスタンスにペインターという名前を付けて作成しました。コードを共有しましょう。

誰かがそれを行う方法の答えを私に提供し、ウィジェットがどのように機能するかを少し説明してくれることを願っています. pythonの標準クラスとして扱っているのですが、それとは少し違う動きをしていると思います。

乾杯。

0 投票する
4 に答える
15214 参照

python - KivyのTextInputウィジェットでのTab/Enter(およびその他のキーストローク)の処理

私はKivyフレームワークを使用してアプリを書いていますが、マイナーですが厄介な問題に遭遇しました。テキストフィールドでTab / Enter /矢印キーを処理して、どちらかを押すとイベントがディスパッチされるようにする方法がわかりません。フォーカス(ジャンプ)を別のTextInputに切り替えるか、次のようなものを起動しますsend_form()

誰かがこの問題に光を当ててくれませんか?

0 投票する
1 に答える
1318 参照

kivy - kivyディストリビューションのソースコードをエンコードする.apk

私は最近、テスト目的でkivyを使用して開発を開始し、最初の.apkを作成し始めたので、1つの質問が思い浮かびます。

main.pyには、apkを配布したい場合に「読み取り可能」にしたくないソースコードが含まれています...したがって、GooglePlay用の.apkを作成するときにプライマリコードをエンコードまたは非表示にする方法はありますかストアまたは通常のLinuxアプリとして?

みんなありがとう!

0 投票する
1 に答える
12907 参照

python - Kivyでレイアウトサイズを設定できません

まず第一に、それらがシステムの違いである場合、現在のKivyバージョンを使用してUbuntu 12.04で作業しています。私の問題は、レイアウト サイズを設定できないことです。

何か案が?

0 投票する
1 に答える
7282 参照

python - Python/KivyでScrollViewを実装する方法

Python / Kivyでコンテンツを表示するためのコードを作成しましたが、ScrollViewをうまく記述できなかったようです。

プログラムのバリエーションをいくつか試しましたが、プログラムにスクロールバーが表示されません。

これは私のコードです:

私の質問は、scroolbarを表示するために何をする必要があるかということです。

ありがとう

0 投票する
1 に答える
1164 参照

python - kivy でメトロノームを作成しようとしています - イベントループ管理

ここには何も見つからないので、質問を入力してみます。

kivy でシンプルなメトロノームを作成しようとしています。私は基本的に、インストールで提供されたオーディオの例を取り上げ、メトロノーム機能を追加したいと考えました。

ご覧のとおり、クラスを から に変更しButtonましたToggleButton

whileでループを入れてみたのself.sound.play()ですが、無限大になってしまうので、基本的にはもう一度ボタンを押したらループから抜けられる方法を探しています。

ドキュメントからのイベントループ管理についてはよくわかりませんでした。これが答えになるはずですが、これまでイベントループを使用したことはありませんでした。誰かがそのような状況のサンプルコードを提供できれば素晴らしいでしょう.

0 投票する
1 に答える
823 参照

python - Kivy:SoundLoader と複数のファイルをロードしていますが、「二重ロード」ではありません

SoundLoader モジュールを介して複数のサウンドファイル (*.ogg) を kivy にロードしたいと考えています。ファイルのサイズは 300kB から 700kB です。

何が起こるか: 最初のいくつかのファイルがロードされ、残りのファイルがスキップされます。

ファイルをロードするためのより良い (そしておそらくより速い) 方法はありますか? 既に読み込まれているファイルをコピーせずに (またはテキストを損なうことなく)、別の Button インスタンスに「リンク」することはできますか?

問題のコードは次のとおりです。

前もって感謝します ;)

0 投票する
1 に答える
735 参照

android - Kivy: サウンドが再生され始めますが、Android では「止められません」が、Windows では動作します

それぞれが異なるサウンドファイルをロードした一連のトグルボタンをkivyで取得しました。

Windows でコードを試してみると、すべてが期待どおりに機能しますが、Android では Kivy Launcher を介して音が止まりません。

これが行うこと/行うべきことは次のとおりです。

  • AudioButton以前に指定されたサウンドファイルを使用してインスタンスを作成します (指定: size_hintfont_sizeおよびgroup(ラジオ ボタンとして機能するため)
  • on_presskillsoundボタンの状態が変化したときにコールバックを発生させます
  • ボタンがstate=='down'サウンドの場合、ボタンのテキストにキャプションが追加されます
  • ボタンがstate=='normal'現在再生中のサウンドを停止する場合、関連するボタンが押される場合、別のボタンが押される場合、コールバックがあります。

コールバック(キルサウンド):

  • 状態が変化したときに音を直接停止する
  • 以前に追加されたキャプションを削除し、ボタンのサイズを変更します

Windows では、このコードですべて正常に動作します。ただし、Androidでは、killsoundgetが呼び出されると、キャプションが削除され、ボタンのサイズが変更されますが、サウンドは停止しません-古いサウンド(停止する必要があります)はまだ再生されており、新しいサウンドが開始されるため、両方のサウンドが得られました2 つ以上の音でも同じです。

手伝って頂けますか?

0 投票する
2 に答える
3735 参照

python - Kivy-ボタンがクリックされたときにラベルを編集する

button1をクリックしたときにラベル「etykietka」を編集したいのですが、方法がわかりません。アイデアはありますか?