問題タブ [pyglet]

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

python - glTranslatef から gluLookAt に切り替えた後、opengl が目的の出力をレンダリングしない

仕事ができなくて困ってgluLookAtいます。を使用して期待どおりに動作する次のコードがありますglTranslatef

さて、使用する代わりにglTranslatef、カメラをシフトするだけでよいと思いました。gluLookAt代わりに呼び出すようにコードを変更しました。

ただし、ここで矢印キーのいずれかを押すと、正方形が消えます。を呼び出すと何が間違っていgluLookAtますか?

この次の機能を編集on_draw()しても機能しません(黒い画面が表示されるだけです):

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

python - pyglet パッケージで一時停止メソッドを使用する方法

Pythonでpygletパッケージを使用して音楽プレーヤーのコードを書いています。無事に一曲演奏できました。しかし、電話をかけた後、曲を一時停止することはできませんpyglet.app.run()

一時停止を呼び出しpyglet.app.run()た後に呼び出すと、曲を再生できません。コードで再生と一時停止を管理するにはどうすればよいですか?

私のコード:

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

python - VBOとPygletでデータを更新する方法

フレームごとに変化するPygletでメッシュを作りたいです。したがって、頂点を頻繁に更新する必要があり、VBOがここに到達するための最速の方法であると思いました(間違っている場合は修正してください)。ポイントの例を以下に示します。これは正しい方法ですか?glBindBuffer呼び出しの数を最小限に抑える必要があることを読みましたが、ここではすべてのフレームと呼ばれています。また、GL_DYNAMIC_DRAWが有効になっていますが、GL_STATIC_DRAWに変更しても、引き続き機能します。これが高速計算のための正しい設定であるかどうか疑問に思います

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

python - ピグレットサイドスクローラーでランダムな無制限の地形を作成するには?

pyglet を使用して横スクロール ゲームを作成しようとしていますが、背景、キャラクター、地形を描くことができました。(私はGUIのことはかなり初めてです)問題は、プレイヤーがキャラクターを動かすと、地形がそれ自体を生成することを意図している(テラリアのようなゲームのように)ことですが、スプライト。私がこれについてどうするかについて何か考えはありますか?私が自分自身を明確にしていない場合は、お気軽に質問してください:)

編集:私がこれまで行ってきたのは、次のような各地形の変数を作成することです:

ブロックにツリーがあるかどうかを確認するためのクラスも作成しました。

しかし、必要なすべての地形に対してground2、ground3、ground4 ...を作成する必要があるのか​​ 、それともそれを生成するより簡単な方法(おそらく無制限)があるのか​​ 疑問に思っていました

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

python - ピグレットで同時に多くのスプライトを同じ距離で動かす

バッチを使って同時に描画する方法は知っていますが、バッチ全体を一度に移動する方法があるのではないかと思っていました。すべてのスプライトを個別に移動する必要がありますか?

これまで私はこのようにやっています:

等...

しかし、完成品にはこれよりも多くのスプライトがあり(50以上だといいのですが)、それらをすべて移動するのはかなり面倒です。

どんな助けでもありがたいです:)

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

python - ピグレット:Sprite.draw()とBatch.draw()は機能しませんが、Image.blitは機能します

私が学んでいるpygletでは、Image.blit()は機能しますが、Sprite.draw()は機能せず、Batch.draw()も、この単純なコードでも機能しません。

ウィンドウは黒のままです。ただし、たとえばラベルを描くことはできます。私が見つけた唯一の説明は、グラフィックカードとそれらのいくつかの「v2i」バグに関するものでしたが、私が何をしているのかを実際に知らずに、pygletのコードに触れることを恐れています。

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

python - Python で Pyglet と Tkinter を使用して音楽を再生する

Pythonでmp3ファイルを再生するための再生ボタンと停止ボタンを備えたシンプルなGUIを作成したかったのです。Tkinter を使用して、2 つのボタン (停止と再生) で構成される非常に単純な GUI を作成しました。

次のことを行う関数を作成しました。

その機能をボタン再生のコマンドとして追加しました。音楽を停止する別の関数も作成しました。

この機能をコマンドとして 2 番目のボタンに追加しました。しかし、問題は、再生を押すと、python と gui がフリーズすることです。ウィンドウを閉じようとしても閉じず、停止ボタンも反応しません。これは、歌が終わるまで pyglet.app.run() が実行されているためだと理解していますが、どうすればこれを防ぐことができますか? ボタンをクリックすると、GUIが音楽を停止するようにします。これに対する解決策をどこで見つけることができるかについてのアイデアはありますか?

0 投票する
8 に答える
28782 参照

python - Python pyglet AVBin - AVBin のインストール方法

AVBin は、MP3 をデコードするために Pyglet によって使用されます。リンク: http://avbin.github.com/AVbin/Download.html

提供されている install.sh を使用してインストールすると、使用するとエラーが発生します。

...では、正しくインストールされませんでしたか? python virtualenv を使用して、これが問題を引き起こしている可能性があると思われます...次のように、virtualenv で AVBin の install.sh を実行しましたが、

アップデート

avbin がインストールされている場所を見つけました...適切な場所にインストールされているようです = S

更新 2

ライブラリは .so であり、 .dylib ではありません。なぜ .dylib の不思議なコードが必要なのですか? これは Mac ではなく Linux です (Mac には .dylib があり、Ubuntu には .so があります)。

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

python - ワームのようなゲームでフレームごとにレベル Surface をコピーしないようにするには?

私は、破壊可能な地形 (ゲームのワームやスコーチド アースなど) を持ち、マスクを介してピクセル パーフェクトな衝突検出を使用するゲームに取り組んでいます。

レベルは単一のサーフェスであり、現在どのように機能するかというと、フレームごとにコピーを作成し、描画が必要なすべてのスプライトを描画してから、可視領域をディスプレイ サーフェスにブリットします。

フレームごとにレベル サーフェス全体をコピーせずに、pygame にあるピクセル パーフェクトなコリジョン ツールを使用できる方法はありますか?

最初にレベル サーフェスをブリットしてから、画面上のすべてのスプライトをブリットしてみました (座標が静的なプレイヤー キャラクターを除いて、ブリット座標はカメラによって調整されます)。それを修正することはできないようです。

アップデート

私は次の方法でそれを機能させることができました。レベルの可視領域)。

衝突検出フェーズでは、水平面に対して配置された座標と境界ボックスを使用します。上記のように。問題は、カメラの位置がプレイヤーの位置にバインドされていることです。これは静的な値ではなく、そうであってはなりません (どうやってそれを長い間認識できなかったのか、本当にわかりません)。

これで問題は解決しますが、以下の回答は、このような状況でパフォーマンスを改善する方法についてのより包括的な見方です。また、試練をより簡単または迅速にする他のライブラリを使用するための提案も受け付けています。pyglet と rabbyt について考えてみましたが、同じ問題が存在するようです。

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

python - Python で pyglet を使用すると、マウスドラッグするとフレームレートが速くなるのはなぜですか?

pythonのpygletパッケージを使って簡単な画像表示を書いてみました。私のLinux ラップトップでは、コードは期待どおりに機能し、1 秒あたり 60 フレームを常に表示していました。

ただし、私の Windows 7 デスクトップ ( GeForce GTX 550 Ti を搭載した@Xiからかなり新しい) では、フレーム レートが非常に低くなっています (~10 FPS 以下)。ただし、これはハードウェアの制限ではないと思います。マウス ドラッグ イベントによってフレーム レートが大幅に高速化されるためです (60 FPS 以上)。

Windows では、マウスをドラッグしていないときのフレーム レートが非常に低く、ドラッグしているときは非常に速いのはなぜですか?

この動作を生成するために使用する単純化されたコードは次のとおりです。

「1.png」と「2.png」のピクセル寸法は同じですが、画像が異なるだけなので、フレームが反転しているのがわかります。私はpython 2.7.2とpygletバージョン1.2devを使用しています。役立つ追加情報を追加できれば幸いです。