問題タブ [pysdl2]
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.
python - OSX 上の Pysdl2 長い反復ループ中にビーチボール カーソルを防ぐ方法
実行時にカーソルを効果的に非表示にするを呼び出した後でも、sdl2.mouse.SDL_ShowCursor(0)
長時間の反復を行う場合 (私の目的では、大量の画像を RAM にロードする場合)、それでもビーチボール カーソルが表示されます。
私が書いているのは視覚的注意に関する認知心理学の実験であるため、これが起こらないことが重要です。この種の視覚的注意散漫は絶対に起こり得ません.
python - PySDL2を使用してマウスの位置を取得するには?
イベントをリッスンする以外にマウスの位置を取得する方法をまったく理解していませんが、イベント キューが空の状況では、これはどのように達成されますか?
pygamers の pysdlのドキュメントでは、 sdl2.mouse.SDL_GetMouseState()
( doc here ) の使用が推奨されていますが、この関数には、実際には、質問したいカーソルの x、y 座標が必要です。一方、呼び出すとsdl2.mouse.SDL_GetCursor()
カーソル オブジェクトが返されますが、そこから座標を取得する方法が見つかりません (つまり、C オブジェクトをラップしているだけなので、.__dict__
属性が空です)。
私は考えられる限りのことを試してきましたが、これまで C でプログラミングしたことはありません。私が作成しようとしている単純なラッパー関数は次のとおりです。
python - PySDL2 描画順
以下のコードは、黒い背景、白いボックス、およびテキストを描画します。ただし、描画順序が決定されていないようで、テキストまたは四角形が背景の四角形で覆われていることがあります。これを管理する適切な方法を理解しようとしていますか?
python - aggdrawまたはPySDL2のいずれかを使用して円形グラデーションを作成するには?
一般的な問題
任意の半径の円形グラデーションを作成し、それを現在のマウス位置にマップする必要があります。このプロジェクトは主にOpenGLとPySDL2を使用していますが、従来の理由からaggdrawも使用しています( Pillowラッピング PIL を使用)。大まかに言って、SDL2 は OpenGL やほとんどの UI との対話を実行しますが、aggdraw は予想通り、描画を実行します。
私は非常に初歩的な関数を書きました。マウスの動きとグラデーションの描画の間のレイテンシーがグラデーションの半径とともに劇的に増加することを除いて機能します (私のコードを参照してください。理由は明らかです)。
以下のコードは aggdraw を使用しています。aggdraw オブジェクトは、他の場所でnumpyを使用してバイト配列に変換され、OpenGL に渡されます。
私は SDL2 描画ライブラリを使用するソリューションにはオープンですが、それを使用したことは一度もありません。そのようなソリューションのナブのように扱われていただければ幸いです。;)
特定のコンテキストに関する注意事項
私が提供したコードは非常にまばらなので、礼儀として、これは私が約1年間書いてきた大きなモジュール(KLIBS)とのインターフェースであることを言及する必要があります。上記のモジュールは主に、ここでは関係のない多くのことを行いますが、以下の関数は多くの社内コードにプラグインされます。残念ながら、このモジュールは (現在) ローカル コンテキスト用であるため、このモジュールのドキュメントをまだ作成していません。
ただし、この関数は、文字通り、私のコードです。ライブラリの残りの部分は十分にテストされています。オーバーヘッドは、他の処理から 10 ミリ秒未満です。
画面のリフレッシュ レートよりも速くこれを実行できるに違いないと思います。最大30 ミリ秒の遅延許容値があり ます (プロジェクトのコンテキストは、視覚の認知科学における大学院の研究です)。これもハードウェアに依存することはわかっています。一般的に、私たちは 3 年以内の iMac について話している。
これはもっとうまくできると確信していますが、私は深みがありません。私は通常、Web 言語 (javascript/PHP/html/css) を使用します。
python - (Py)SDL2: テクスチャ ポリゴンの描画
sdl_gfx を使用して、この画像を PySDL2 のポリゴンのテクスチャとしてレンダリングしようとしています
しかし、SDL ウィンドウの右下隅に見られるように、その表示は完全に歪んでいます。
描画とレンダリングを処理する FrameBuffer クラスに実装したすべての sdlgfx 描画関数をテストするこの python プログラムがあります。アンチエイリアス処理されたポリゴン (中央の緑色の六角形ですが、これはまた別の問題です) とテクスチャ ポリゴンを除いて、それらはすべてうまく機能します。
より基本的なスクリプトを提供するために、次の手順に従ってテクスチャ ポリゴンを描画しました。
上記のスクリプトの例では、次のように出力されます。
SDL2 で ctype 変換などを行うのは非常に困難であり、ここまで到達できて非常に満足していますが、自分でこれを解決することはできないようです。どのステップで間違いを犯しているのか、誰かが私を正しい方向に向けることができますか?
補足として、PySDLには画像をレンダリングするためのファクトリ関数があり、それらは非常にうまく機能することを知っていますが、ポリゴンのテクスチャリングオプションも機能させたいと思っています.
python - sdl2 エンティティの属性設定エラー
pysdl2 ライブラリを使用しています。self.velocity は表示されますが、self.forward_tick を使用するとキー エラーがスローされます。
自己属性の一部のみが割り当てられている原因は何ですか。遺伝と関係があると思います。
出力は次のとおりです。