問題タブ [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 に答える
56 参照

python - 背景に一定の半透明度を設定する

ゲームの背景画像を入れようとしていますが、特定の不透明度が必要です。set_alpha()半透明性を制御するためにサーフェスの方法を使用しました。ただし、これは、設定された不透明度の初期背景が最終的に完全な明るさに変わるフェードイン効果を作成しています。背景の半透明度を一定値に設定する方法はありますか?

私のコードは

これを行う方法に関するヒントはありますか?

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

python - TypeError: None ではなく、pygame.Surface でなければなりません

私はpygameでカメラを使って作業しています。私はこのコードを書きました:

しかし、それは私にこのエラーを返します:

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

python - pygame、サイズ変更時にウィンドウサイズを更新する方法

私は pygame のサイズ変更可能なウィンドウを持つプログラムを持っています。

サイズ変更が可能なので、ウィンドウサイズに合わせて画面上の特定の要素の位置とサイズを変更したい。

関数 setGet にすべての変数を保存しました。画面サイズのパスが必要で、すべての変数が渡された画面サイズに依存するようにします。

コマンドを実行するループ機能があります

ウィンドウのサイズを変更しても、get_size() は明らかに更新されません。

ウィンドウのサイズを変更するときに画面のサイズを更新するにはどうすればよいですか?

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

python - Pygame サーフェスが重すぎる

私は 30 FPS の高解像度画像を多く含むゲームを作成しているため、この特定の状況ではパフォーマンスが大きな問題になります。メモリ消費量をチェックしていたところ、ハード ドライブに 2 ~ 3 MB のイメージ セットがゲームに読み込まれると、30 MB を占めることがわかりました。CPU 使用率をあまり犠牲にせずにメモリ消費を減らす方法はありますか?

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

python - pygame でピクセルを描画するための透明な表面を作成する

ピクセル配列を使用してピクセルを配置したサーフェスを作成しましたが、サーフェスを透明にしたいのですが、ピクセルを不透明のままにして、サーフェスを透明にしてからピクセルをサーフェスに描画しようとしましたが、それだけですピクセルも透明にします。ヘルプや見逃したものはありますか?

-編集-これが何らかの形で役立つことを願っています。これは、銀河である表面を作成するクラスオブジェクトです

また、私が試したことを述べましたが、これ以上言うことはありません

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

pygame - pygame で表面上のピクセルの HSV 値を取得する

HSV 色空間を使用するように pygame で Web カメラを設定しました。しかし、pygame.Surface.get_at は RGB カラー値のみを返します。pygame でピクセルの HSV 値を読み取る方法はありますか?

そうでない場合、pygame ですべてのピクセルの色を HSV に変換する推奨される方法は何ですか?

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

python - インデックス付きのサーフェスは、アルファ値 (255 以外) を持つパレットをサポートしていますか?

を呼び出すとmyIndexedSurface.get_palette()、32 ビット RGBA 値のリストが返されます。アルファ値が含まれているため、透明効果を伴うパレット インデックスを設定して使用することもできるのではないかと考えました。これらのサーフェスは、フル深度 (32 ビット) のピクセル データを持つサーフェスよりも効率的にオーバーレイまたはマスクとしてブリットできます。

ただし、これまでのところ、パレット要素のアルファ値はロックされているようで255、私が試した方法では変更されません。

  • .set_palette_at(idx, (r,g,b,A))rg、および を正しく設定しますが、 の値bに関係なく、アルファ値を 255 のままにしAます。

  • .set_palette(somePalette)RGBAタプル要素に 255 以外のアルファ値があるValueError: takes an alpha value of 255場合に発生します。somePalette

私がやろうとしていることは可能ですか?各パレットリスト要素のアルファ値は純粋に装飾的なもので、24 (RGB) ではなく 32 ビット (RGBA) ピクセルデータを期待する他のプロセスでより簡単に使用できるのでしょうか?

Pygame のインデックス付きサーフェスは、そもそもこの程度の複雑さを処理する機能を備えていない可能性があるように感じますが、そうすべきではない理由を考えたり見つけたりすることもできませ。おそらく、Pygame にはspecial_flagsこの目的のために神秘的なものが 1 つありますか?

Surface 自体を初期化しようmyIndexedSurface = pygame.Surface(surfSize).convert(8)myIndexedSurface = pygame.Surface(surfSize, flags=pygame.SRCALPHA).convert(8)しましたが、効果がありませんでした。

私はまだPILまたはPygame のPixelArray解決策を見ていません。

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

python - スプライトとして使用される Pygame のアーク

pygame.draw.arc() をスプライトとして使用しようとしていますが、画面に表示されません。メインループで同じコードを書くことで同じ効果を得ることができますが、スプライトを作成しようとすると、効果が表示されません。

(メインループの一部のコメントを外して、目的の効果を確認することもできます。)

任意のポインターが非常に役立つ可能性があります。

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

python - pygameで透明な画像を描く方法は?

チェス盤を考えてみましょう。サイズ 70x70 の女王 (queen.png) の透明な画像があり、黒い四角形の上に表示したいと考えています。コード:

エラー: 透明な画像が表示されません。つまり、黒い四角形がまったく表示されず、白い背景のクイーンのみが表示されます。提案してください