問題タブ [blit]
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.
c++ - SDL での静止画像のレンダリング
私は現在 SDL を学んでおり、パックマン ゲームを作成しようとしています。大量のコードで行き詰まらないように、段階的に実行しようとしています。
ここまでで、空白のウィンドウを作成し、その上に Pacman の画像をレンダリングしました。矢印キーを押して、パックマンをウィンドウ内で動かすことができます。Pacman イメージが SDL_Texture として保存されるように設定し、RenderCopy を使用してウィンドウにブリットします。ユーザーが矢印を押すたびに、画像の座標を移動し、画像全体を再レンダリングします。これはうまくいきます。ただし、ここで、パックマンが食べるために画面にいくつかのドットを配置したいと思います。ただし、ドット イメージを読み込んで新しいテクスチャとして保存し、パックマンと一緒に画面にブリットすると、パックマンを移動するたびに、ドットが消去され、パックマンと一緒に再レンダリングされるため、ドットが点滅します。
私の質問は、この「点滅」を回避するにはどうすればよいですか? 画面の残りの部分を再レンダリングせずに、どうにかしてパックマンだけを再レンダリングできますか? または、これを行う別の方法はありますか?後でバックグラウンドで迷路を作成しようとすると、同じ問題が発生すると思います。再レンダリングするたびに点滅しない静的な背景を作成するにはどうすればよいですか?
以下はこれまでの私のコードです。そこに悪い形のコードがあれば許してください。私が言ったように、私は SDL を学び始めたばかりです (C++ もかなり新しいです)。そこにあるようなもの、私は誰かがそれを指摘していただければ幸いです:)
編集: raser のコメントへの回答として、PollEvent の例を見つけたリンクを次に示します。
python - 四角形でのマウスクリックのジレンマ
だから私の考えは、windowSurface.blit の四角形があり、マウスの左クリックでそれを押すと、これらのコマンドMOVE_SPEED = 9 end_it_levels = Trueが実行されますが、その方法について頭を包むことはできません。マウス関数はここにあります http://www.pygame.org/docs/ref/mouse.html#comment_pygame_mouse_get_pos
基本的にこのコードはここにありますが、マウスの左ボタンをクリックし、ブリットの座標内で [buttonEasy = pygame.Rect(10, 150, 200, 90)] をクリックします。
同じような新しいジレンマ
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 特定のループまでのコード:
python - Python ブリッティングが機能しない?
私はpythonとpygameでゲームを書いていて、メインメニューを作成しようとしていますが、ラベルが表示されません????、また、次のエラーが発生します:22行目、x、y = pygame.mouse.get_pos( ) エラー: ビデオ システムが初期化されていません???? ここで何が起こっているのか理解できません。なぜなら、私は Python を初めて使用するからです。私のコードは次のとおりです。
誰か助けて!!!
python - pygame で動的に半透明の画像を作成する方法
私はpygame内のカスタムGUIコンポーネントに取り組んでおり、スライダーコンポーネントを作成するときに、スライダーDraw(parentSurface)を親サーフェスの保存場所に描画する機能をスライダーに与えています。
これで動作しますが、スライダーには 2 つの画像が保存されます。
- スライダーの指定された長さに合わせてタイルから動的に作成されたスライド画像。指定された長さの幅、3 ピクセルの高さで測定されます。と
- スライダーの位置を示す小さな 8x12 のインジケーターである「選択」画像。
問題は、Draw(parentSurface)私がこれを行うときです:
しかし、それは黒の背景で爆発しself.imageます。何もないところから背景が透けて見えるように、半透明にしたいですself.image。持つことをやめて、親サーフェスに直接self.image描画する必要がありますか?self.slider_imgself.select_img
python - 画面全体に utf-8 文字列をレンダリングする blit 関数
画面上で水平に移動するテキストをレンダリングする pygame スクリプトを作成しました。機能しますが、文字列を非ラテン文字列 (ペルシア語) に変更すると、完全には機能しません。つまり、すべて(アニメーション、レンダリングなど)を実行しますが、キャラクターはそれぞれから切り離されていますが、健全に表示されていますが、期待どおりの順序ではありません。つまり、各文字は適切に表示されますが、単語はレンダリングされず、一連の文字がレンダリングされます。
文字列はあるべきですسلام
が、レンダリングされますم ا ل س
完全なコードは次のとおりです。
opengl - 画面のティアリングまたはカクつきを引き起こす最も信頼できる効果は何ですか?
さまざまな vsync 実装、手動フレーム レート タイミング、ダブル バッファリングなど、画面のティアリングを軽減または排除するためのさまざまな戦略を調査しようとしています。調査結果を説明するチュートリアルまたはペーパーを作成する予定です。
ただし、まず最初に、効果を実証する簡単な opengl プログラムを作成する必要があります。これにより、さまざまな戦略がどの程度うまく機能するかがわかります。テアリングが発生する可能性が最も高いのは、どのタイプのアニメーションとエフェクトですか? 素早い動きがそれを引き起こすことが多いことは知っていますが、使用できる何らかの方程式または経験則があると思います.
これについてグーグルで調べてみましたが、引き裂きを止める方法に関する無限のスレッドしか見つけることができず、それを作成するための系統的な方法はありません.
python - クラス内で pygame.Surface.blit を使用する
クラスに電話できるのは 1 回だけです。私のコードは次のとおりです。
そして、ゲームループの内外で「魚」オブジェクトを呼び出すと(fishes.append(fish(900, 300, fish_1, 1))
エラーが発生しました:
python - blit を使用してプログラムでベクトルを表示しようとしています
Pythonは初めてで、いくつかのものをテストしようとしています。いくつかの調査から、すべてのベクトルポイントを保存するにはリストが必要だと思います
すべてが良いので、印刷物としてテストして確認します。
しかし今は、各要素をブリットのベクトルとして使用したいと考えています。だから私のコードはこのように見えました
(エラーが発生しました: TypeError: list indices must be integers, not list)
blit には int が必要であることは理解していますが、目標を達成するために他に利用できる関数や他にできることはありますか? 私はありとあらゆる提案を受け入れます(それが私が現在行っていることとは異なることを意味する場合でも、この意味でpythonまたはベクトルの経験がほとんどないため、これをすべてゼロから行っているだけです)、事前に感謝します。
編集:
私が作りたいもう1つのポイントは、NavGraphを作成しようとしているのでノードが必要だということです.
編集2:
私の質問をより明確にするために、私は本質的にベクトルをブリットに渡そうとしていることを説明したかったのですが、整数が必要です。基本的に整数の代わりにベクトルを渡し、ウィンドウに描画させるために使用できる別の関数または何かがあるかどうか疑問に思っています