問題タブ [spritebatch]

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 に答える
1697 参照

java - Libgdx: ステージがバッチをいじっています

ステップを使用してUIを描画し始めた後に表示されたコードに問題があります。バッチで3つのものが描画され、ステージで2つのボタンが描画されていますが、「スプライト」は2つしかありません描かれた。コードは次のとおりです。

描画されないのはテキスト「Some text」で、コメントアウトするとおかしくなり、タイトルスプライトも描画されず、ランダムな間隔で灰色のボックスが表示されます。

また、「stage.draw();」を動かすと バッチの外では描画されません

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

background - libGDX 大きな背景画像をレンダリングする最良の方法は何ですか?

libGDX のドキュメントでは、SpriteBatch へのテクスチャのバインドについて説明しています...

[SpriteBatch] に最後のテクスチャとは異なるテクスチャが与えられた場合、最後のテクスチャがバインドされ、収集されたジオメトリが描画されるように送信され、新しいテクスチャのジオメトリの収集が開始されます。

描画されるいくつかの長方形ごとにテクスチャを変更すると、SpriteBatch が多くのジオメトリをバッチ処理できなくなります。また、テクスチャのバインドはややコストのかかる操作です。これらの理由から、多くの小さな画像を大きな画像に保存し、大きな画像の領域を描画して、ジオメトリのバッチ処理を最大化し、テクスチャの変更を回避することが一般的です。

このため、すべてのゲーム スプライト イメージを 1 つのテクスチャに配置しました。ただし、ゲームに大きな背景画像を配置して、画面全体を埋めたいと考えています。

私のオプションはどちらかのようです...

  1. 小さなゲーム スプライトに使用しているのと同じテクスチャに背景を配置するか、または...

  2. 背景には別のテクスチャを使用します。

#1の問題は、異なるレベルに異なる背景画像を使用したい場合、これは非常に実用的ではないように見えることです(画像が非常に大きくなるか、異なる背景ごとに複数の画像でゲームスプライトのコピーを作成する必要があります)。

しかし、#2 を行う場合、SpriteBatch を 2 つの異なるテクスチャにバインドしてから GPU に送信する必要があります。これはドキュメントで「かなり高価」と説明されています。

最善のアプローチが何であるかはわかりません。複数のテクスチャへのバインドについてそんなに心配する必要がありますか? または、私が検討していないより良いアプローチがありますか?

アドバイスを求めました、ありがとう!

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

libgdx - libGDX - SpriteBatch からテクスチャの領域を削除/減算しますか?

ゲーム画面に多数の正方形の領域があり、アクターがこれらの領域を横切って移動するときに、背景画像が後ろから透けて見えるようにします。

それで、領域がテクスチャから減算/削除されるように SpriteBatch に描画することは可能ですか (効果的に「穴を開けます」)?

これを達成する方法は他に考えられません...いくつかの正方形の内側の領域をクリップしたいので、はさみは私の目的には非常に実用的ではないようです。これは Scissors の逆で、はさみの境界外の領域を切り取ります。さまざまな正方形領域間の逆領域を埋めるために数十のシザー領域を計算するという考えは、解決策としては非現実的です...特に領域が動いている場合。

ヘルプや提案をいただければ幸いです。

更新: 画像を添付しました。

点線でマークされた領域に背景が常に表示されるようにします。点線の領域は移動するので、背景からスプライトを作成して上に配置するのではなく、点線の四角と交差するアクターの一部を描画しないようにします。(または、同じ効果を達成する任意の方法。)

https://imagizer.imageshack.us/v2/596x523q90/842/8xp1.png

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

java - LibGdx : ゲームで 1 つの spriteBatch をシングルトンとして保持しますか? または、画面ごとに 1 つの spriteBacth ですか?

LibGdx SpriteBatchドキュメント内。それが言及されています

SpriteBatch は非常に重いオブジェクトであるため、プログラムには 1 つだけ含める必要があります。

しかし、私は少し混乱しています!すべてのゲームで 1 つの SpriteBatch を (シングルトンとして) 維持する必要があるかどうか、または今まで見つけたいくつかのチュートリアルに示されているように、画面ごとに 1 つの SpriteBatch を維持する必要があるかどうかを知りたいです。

また、SpriteBatch をシングルトンとして保持することをお勧めするかどうかも知りたいです。

前もって感謝します。

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

directx - DirectX SpriteBatch.Draw: レイヤー深度とは?

MSDN Web サイトでの定義は次のとおりです。

layerDepth 型: Single レイヤーの深さ。デフォルトでは、0 はフロント レイヤーを表し、1 はバック レイヤーを表します。描画中にスプライトを並べ替える場合は、SpriteSortMode を使用します。

誰かがこれが何を意味するのか説明できますか? ありがとう。

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

libgdx - textureRegion での描画

グループのメンバーである textureRegion でアクターを描画する方法を知りたいです。

私が敵のグループを持っているとしましょう。

一人の俳優のために、私はこのように描いています。

グループ全体の俳優をこのように描く方法を知りたいですか? 描画するメソッドがありますが、このメソッドは TextureRegion パラメータを取りません。

このように TextureRegion でグループを描画できますか?

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

c# - カスタムメイドのinputTextBoxがちらつく

XNA 4.0 で入力ボックスを作成できません。

すでにテキストを描画して inputTextbox に入力できますが、入力すると 2 つの問題が発生します。

  1. キーを押したままにすると、その文字が何度も書き込まれると思いますが、そうではありません。そして、なぜそうしないのかわかりません。
  2. キーを押すと画面がちらつくのですが、どうすれば解決しますか? 私はすでにバックバッファまたはそのようなものをひっくり返して試しましたが、それは解決策ではありませんでした

テキストボックスに属するコードは次のとおりです。