私はlibgdxに関するjavadocとさまざまなチュートリアルを実行しているだけであり、libgdxに似ている、または同様の機能を提供しているさまざまな概念の違いを理解しようとしている段階です。
最初は、scene2dはメニューなどのインタラクティブなアイテムの作成に関するものだと思っていましたが、私が読んでいるさまざまなチュートリアルでは、主要なゲームアイテム(プレーヤーなど)にscene2d/actorsを使用し、他の人はスプライトを使用しています。
ゲームでSpriteとActor(つまりscene2D)を使用することの違いは何ですか?いつ選択する必要がありますか?
ありがとう。
Sprite
は基本的に、位置、サイズ、回転を備えた画像です。 SpriteBatch
を使用して描画し、Sprite
sとSpriteBatch
を取得したら、簡単な低レベルの方法で取得します画面上の任意の場所にある2D画像。後は君しだい。
一方、Actor
はシーングラフの一部です。それはより高いレベルであり、単に画像を配置するだけでなく、シーングラフに入る多くのものがあります。シーングラフのルートはStage
であり、それ自体は表示されません。 Stage
は、追加するActors
のコンテナーであり、シーンの整理に使用されます。特に、入力イベントはStage
を介して適切なActor
に渡され、Stage
はActor
に描画するように指示するタイミングを認識します。たとえば、タッチイベントは、タッチされたActor
にのみ送信されます。
ただし、Actor
にはSprite
のようなテクスチャが含まれていないことに注意してください。代わりに、おそらく Image
を使用する必要があります。これは、単なるActor
よりもSprite
に近いActor
のサブクラスです。 Actor
の他のサブクラスにはテキストなどが含まれます。
Actor
sのもう1つの大きな利点は、Action
sを使用できることです。これらは big topic ですが、基本的にはそのActor
の一連のイベント(フェードイン、移動など)を計画し、その後、自分で発生するようにすることができますそれらを設定します。
したがって、基本的にActor
は、グラフィカルフレームワークの一部であるため、Sprite
よりも多くのことを行います。
それは多かれ少なかれ味の問題です。アクションとステージを使用する場合は、アクターを使用します。アクターを直接描画することはできません。描画メソッドをオーバーライドする必要があります。内部描画では、スプライトを使用できます。