問題タブ [pygame-surface]

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 投票する
1 に答える
1117 参照

python - Python マルチプロセッシングを使用して pygame 用の画像を準備する方法

私は、そのとんでもないパンとズーム効果を備えたスライドショー アプリを作成しています。私はパイゲームを使用しています。

したがって、メイン ディスプレイはリアルタイム 30fps+ であり、新しい画像をロードする必要があるときにスタッタリングしたくありません。これには 1/30 秒以上かかります。

そこで、いくつかの並列プロセスを使用して画像を準備し、クラスのインスタンスであるこれらのオブジェクトをメイン プロセスにフィードしたいと考えました。

スレッド化とマルチプロセスで試しました。スレッド化は「機能」しますが、まだびくびくしています (私はpythonのせいです) - スレッドがビジー状態になると、全体が遅くなります! そのため、コードは実行されましたが、継続的にスムーズな表示を可能にするという目標を達成できませんでした。

しかし、メインプロセスから受け取った準備済みイメージでメソッドを呼び出すとすぐに、マルチプロセスのセグメンテーション違反が発生します。(pygame parachute)パイプ通信とキュー通信を試しましたが、どちらも同じ問題が発生します。メソッドは、への呼び出しを行うまで実行されます

次に、セグメンテーション違反です。このクラスには、メイン プロセスからの依存関係はありません。

pygame はマルチプロセッシングが好きではないのですか? 互換性のある別の方法はありますか?スレッド化メソッドの実行を停止する可能性のあるセカンダリ スレッドを「ナイス」にする方法はありますか?

どんな助けでも大歓迎です。もっと多くのコードを投稿できてうれしいです。コメントで質問してください。

前もって感謝します!

編集

これは私ができる限り短いです。下部のコンストラクターで jpeg ファイルへの 3 つのパスを指定する必要があります

これを実行すると (Python 2.7.6)、次のようになります。

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

python - Pygame 重複のないレベルの更新

ライブラリ Pygame で、ゲームをプログラミングしようとしています。ゲームでは、ゴールの四角形に衝突すると、新しいレベルに移動します。すべてが機能しますが、ゴールの四角形と衝突すると、古いレベルの上に新しいレベルが描画されます。画面をクリアしてから、レベルを描画します。どうすればいいですか?これが私のコードです:

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

python - アニメーションGIFをロードして、Pygameで個々のフレームをすべて取得するにはどうすればよいですか?

初めまして、重複でしたらすみません。私が見つけた答えは無関係のように見えましたが、おそらく間違ったキーワードで検索しています. 私がやりたいのは、アニメーション GIF を取り、それをフレームのリストに分割することです。基本的には、次のようなものです。

ここで、split_animated_gif は、それぞれが GIF のフレームであるサーフェスのリストを順番に返します。ご協力ありがとうございました。

編集:さらにスヌーピングした後、pygameでアニメーションGIFを正常に表示するコードを見つけました。https://github.com/piantado/kelpy/blob/master/kelpy/GIFImage.pyにあります。しかし、あなたの助けは大歓迎でした。

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

python - pygameで衝突を検出するにはどうすればよいですか?

以下のクラスを使用して、箇条書きのリストとスプライトのリストを作成しました。弾丸がスプライトと衝突したかどうかを検出し、そのスプライトと弾丸を削除するにはどうすればよいですか?

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

pygame - pygameでスプライトを他のスプライトの後ろに置く方法は?

スプライトを画面に配置したいのですが、他のスプライトの後ろのレイヤーに配置して、スプライトが互いにすれ違うときに覆われないようにします。どうすればこれを行うことができますか?

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

python - pygameでゆっくりと長方形を回す

私はいくつかのコードを持っています:

マウスの角度 (10deg/s など) に応じて長方形をゆっくりと回転させるには、このコードをどのように変更すればよいですか?

編集: CLASSオブジェクトを回転させたい(pygame.sprite.Sprite クラスに基づく)

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

python - PyGameで画像の上に画像を表示するにはどうすればよいですか?

ライブラリ PyGame を使用して、Python 3 で Pong のバージョンを作成しています。「テーブル」の背景として画像をレンダリングし、その上にボールを表示しようとしています。私の問題は、ボールが表示されている唯一の画像であり、黒い背景が表示されていることです。ただし、ボールに関連するコードを削除すると、「テーブル」の画像が表示されます。テーブルの上にボールをレンダリングするにはどうすればよいですか?

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

python - 動的円の rect() を取得する方法

draw メソッドで円の rect を取得しようとしていますが、Alien インスタンスで get_rect() メソッドを呼び出すたびに Pygame でエラーが発生します。私のコードはさまざまなランダムなサイズの円を生成するため、衝突検出用に動的な円サーフェスが必要です。どんな助けでも大歓迎です

draw メソッドからこの円の rect を取得したいのですが、rect メソッドがありません。オンラインでチェックしたところ、pygame.surface を使用できることがわかりましたが、それを使用してサークルのサーフェスを生成する方法がわかりません。20 の異なるエイリアン サークル オブジェクトを生成すると、それらは w

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

python - マルチプロセッシング キュー: pygame サーフェスが停止しました

マルチプロセッシングを使用して、pygame で 2 つのタスクを分離したいと考えています。ウェブカメラから画像を取得し、画面に画像を表示します。私がこれをやりたい理由は、

  • 派手な画像処理がしたい
  • Web カメラのポーリングを画面とユーザー入力から分離したい

両方の時間遅延を分離し、理想的には負荷を最適化します。スレッドを使用すると、あるスレッドから別のスレッドに画像を送信する際に問題はありません。ただ、ラグいイメージがあります。マルチプロセッシングを使用して画像の遅延を軽減できるかどうかをテストしたいと思います。

問題は次のとおりです。カメラ プロセスからスクリーン プロセスに画像を送信した後、エラーが発生します。を使用してキューから画像をプルした後

画像のサイズを確認します

前述のように、スレッドを使用すると、正しい画像幅が返されます。ただし、マルチプロセッシングでは次のエラーが発生します

それで、画像がキューで失われたようですか?これを読み込もうとしましたが、キューを介して大きなオブジェクトを送信するときに問題があるようです。これは正しいです?これを回避または修正するにはどうすればよいですか?