問題タブ [pygame]
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 - PyGameでスプライトのマウスクリックに応答するにはどうすればよいですか?
PyGame でスプライトをマウスクリックに応答させる標準的な方法は何ですか?
私のイベントループでは、簡単なものがあります:
それに関するいくつかの質問:
- これは、マウス クリックに応答する最良の方法ですか?
- マウスがスプライト上でしばらく押されたままになるとどうなりますか? そこから単一のイベントを作成するにはどうすればよいですか?
- これは、すべてのスプライトにクリックを通知する合理的な方法ですか?
前もって感謝します
python - Pygameの完全に透明なウィンドウ?
Pygameで完全に透明なウィンドウを取得することは可能ですか(デスクトップを参照してください)?フレームなしでウィンドウを作成する方法を見つけましたが、それを透明にする明確な方法はないようです。
WindowsとMacOSXの両方に対応するソリューションがある限り、システム固有のテクノロジー/フレームワークに結び付けたいと思いますが、どちらの方向を向いているのかわかりません。
私が見つけた唯一のトピックは、 wxPythonを使用することをお勧めします。これは、この特定のプロジェクトで実行できることではありません(Pygameである必要があります)。
python - 3つ以上のキーが同時に押されたときにPyGameがイベントを受信しない
私はPyGameで簡単なゲームを開発しています... ロケット船が飛び回って物を撃っています。
質問:一度にあまりにも多くのキーが押されると、pygame がキーボード イベントの発行を停止するのはなぜですか?
キー処理について:KEYSTATE_FIRE, KEYSTATE_TURNLEFT
プログラムには、 などの多くの変数があります。
KEYDOWN
イベントが処理されると、対応する変数が True に設定さKEYSTATE_*
れます。- イベントが処理される
KEYUP
と、同じ変数が False に設定されます。
問題:UP-ARROW
とが同時に押されている
場合、LEFT-ARROW
が押されたときに pygame はKEYDOWN
イベントを発行しませんSPACE
。この動作はキーによって異なります。文字を押すと、pygame がKEYDOWN
追加のキーのイベントの発行を停止する前に、約 5 個の文字を保持できるようです。
検証:メイン ループでは、受信した各イベントを単純に出力して、上記の動作を検証しました。
コード:参考までに、この時点で重要なイベントを処理する (大雑把な) 方法を次に示します。
このシーケンスを押す場合:
a (down)
s (down)
d (down)
f (down)
g (down)
h (down)
j (down)
k (down)
a (up)
s (up)
d (up)
f (up)
g (up)
h (up)
j (up)
k (up)
出力は次のとおりです。
<Event(2-KeyDown {'scancode': 30, 'key': 97, 'unicode': u'a', 'mod': 0})>
<Event(2-KeyDown {'scancode': 31, 'key': 115, 'unicode': u's', 'mod': 0})>
<Event(2-KeyDown {'scancode': 32, 'key': 100, 'unicode': u'd', 'mod': 0})>
<Event(2-KeyDown {'scancode': 33, 'key': 102, 'unicode': u'f', 'mod': 0})>
<Event(3-KeyUp {'scancode': 30, 'key': 97, 'mod': 0})>
<Event(3-KeyUp {'scancode': 31, 'key': 115, 'mod': 0})>
<Event(3-KeyUp {'scancode': 32, 'key': 100, 'mod': 0})>
<Event(3-KeyUp {'scancode': 33, 'key': 102, 'mod': 0})>
<Event(2-KeyDown {'scancode': 36, 'key': 106, 'unicode': u'j', 'mod': 0})>
<Event(2-KeyDown {'scancode': 37, 'key': 107, 'unicode': u'k', 'mod': 0})>
<Event(3-KeyUp {'scancode': 36, 'key': 106, 'mod': 0})>
<Event(3-KeyUp {'scancode': 37, 'key': 107, 'mod': 0})>
これはよくある問題ですか?回避策はありますか? そうでない場合、pygame を使用する際の複数キー制御の問題を処理する最良の方法は何ですか?
python - pygame 関数が無視されているようです
衝突検出をテストする比較的単純なプログラムを構築しています。現時点ではすべて正常に動作していますが、背景色をランダムに変更しようとしています。唯一の問題は、関数を完全にスキップしているように見えることです。これを行う;
無視されているのはColourCheck
機能ですが、その理由は何ですか?
python - Python と pygame で MS Paint のクローンを作成する方法
私が見ているように、マウスイベントを処理して絵を描く方法は 2 つあります。
1 つ目は、マウスの移動を検出し、マウスがある場所に線を引くことです (ここに示す) 。ただし、これに伴う問題は、ブラシ サイズが大きいと、線のストローク サイズを使用して太い線を作成するため、直線ではない各「線」の間に多くのギャップが発生することです。
もう 1 つの方法は、ここに示すように、マウスの移動時に円を描くことです。これに伴う問題は、コンピューターがマウス入力を検出するよりも速くマウスを動かすと、各円の間に隙間ができることです。
両方の問題に関するスクリーンショットを次に示します。
MS Paint のようなブラシを、線のストロークに隙間がなく、各円の間に隙間がなく、適度に大きなブラシ サイズで実装する最良の方法は何ですか?
python - シンプルなカードゲームの wxPython または pygame?
私は楽しみのために Python でいくつかの単純なカード ゲームを作成して遊んでおり、ゲームにグラフィカル ユーザー インターフェイス (GUI) を追加したいと考えています。シンプルなカード ゲームの GUI を作成する場合、どのライブラリをお勧めしますか?
python - エンドポイントに基づく回転
私はpygameを使用して、2つの任意のポイントの間に線を引きます。また、線の進行方向に向かって外側を向く線の端に矢印を追加したいと思います。
矢印の画像を最後に貼り付けるのは簡単ですが、矢印が正しい方向を向くように回転角度を計算する方法がわかりません。
python - PyGameの中国語Unicodeフォント
PyGameで漢字を表示するにはどうすればよいですか?そして、この目的に使用するのに適したfree / libreフォントは何ですか?
python - クラス内のクラスの属性の変更をインターセプトする-Python
私はpygameとpythonをいじっていますが、クラスの属性が変更されたときに関数を呼び出せるようにしたいと思っています。私の現在の解決策は次のとおりです。
これは正常に機能し、rect値を。で変更するとdofancystuffが呼び出されますFirsclass.rect = pygame.rect.Rect(0,0,100,100)
。しかし、私が言うならFirstclass.rect.bottom = 3
。 __setattr__
そして、dofancystuffは呼び出されません。
だから私の質問は、サブクラスの属性への変更をどのようにインターセプトできるかということです。
編集:また、私がこれについて間違った方法で行っている場合は、Pythonに関してはあまり知識がないことを伝えてください。