In LibGDXアニメーション(アニメーションを取ります)があり、ステージに追加されたときに自身がアニメーションを作成するか、独自のImageクラスを実装してアニメーション化する必要がありますか?LibGDXにはアニメーション化されたアクタがありますか?
11
A
答えて
9
はちょうど私がアニメーション俳優を見つけられませんでした好きなので、私は自分自身を作成しました:
AnimatedActor.java:
public class AnimatedActor extends Image
{
private final AnimationDrawable drawable;
public AnimatedActor(AnimationDrawable drawable)
{
super(drawable);
this.drawable = drawable;
}
@Override
public void act(float delta)
{
drawable.act(delta);
super.act(delta);
}
}
AnimationDrawable.java:私は単に "作成
class AnimationDrawable extends BaseDrawable
{
public final Animation anim;
private float stateTime = 0;
public AnimationDrawable(Animation anim)
{
this.anim = anim;
setMinWidth(anim.getKeyFrameAt(0).getRegionWidth());
setMinHeight(anim.getKeyFrameAt(0).getRegionHeight());
}
public void act(float delta)
{
stateTime += delta;
}
public void reset()
{
stateTime = 0;
}
@Override
public void draw(SpriteBatch batch, float x, float y, float width, float height)
{
batch.draw(anim.getKeyFrame(stateTime), x, y, width, height);
}
}
17
AnimatedImage "引数としてアニメーションだけを取るアクタクラス(カスタムDrawableクラスは不要)。私は、このソリューションは上記のものよりずっと簡単だと思います。
AnimatedImage.java:
public class AnimatedImage extends Image
{
protected Animation animation = null;
private float stateTime = 0;
public AnimatedImage(Animation animation) {
super(animation.getKeyFrame(0));
this.animation = animation;
}
@Override
public void act(float delta)
{
((TextureRegionDrawable)getDrawable()).setRegion(animation.getKeyFrame(stateTime+=delta, true));
super.act(delta);
}
}
関連する問題
- 1. アクタがlibgdxでタッチされたときを検出する方法は?
- 2. Libgdxよりも優れた2Dゲームエンジンはありますか?
- 3. コード化されたUIテストにはレベルがありますか?
- 4. アニメーションはアニメーション化された値をフリーズしますか?
- 5. libgdx Scene2d ImageまたはActorがタッチされたかどうかをチェックする方法はありますか?
- 6. HTML5キャンバスアニメーションはエッジからアニメーション化され、シームレスに戻ります。
- 7. Libgdx Actions =>徐々にアクタをA点からB点に移動します。
- 8. Androidで標準のアニメーション化されたドロワーブルにアクセスする方法はありますか?
- 9. スレッド化されたSPARQL実装がありますか?
- 10. Libgdx ParticleEffect:エラーはありませんが、何も描画されません。
- 11. なぜアニメーション化されたCSSスプライトではなくアニメーション化されたGIFですか?
- 12. UILocalNotificationは2回アニメーション化されます
- 13. アニメーション化されたスプライトを回転させますか?
- 14. 3次元空間に単純なアニメーション化された矢印ベクトルをプロットする必要があります
- 15. UILabelのtextAlignmentをアニメーション化する方法はありますか?
- 16. 高度にアニメーション化されたユーザーインターフェイスに関しては、OpenGL ESのコアアニメーションやUIKitよりも優れたパフォーマンスがありますか?
- 17. 他のCCSpriteの上にCCSpriteポジショニングの問題があり、画面がアニメーション化されますか?
- 18. UIViewフレームをアニメーション化すると、サブビューUIScrollViewが必ずアニメーション化されるとは限りません
- 19. Akkaのアクタのプロパティを@volatileにする必要がありますか?
- 20. pyqtでシステムトレイアイコンとして(アニメーション化された)GIFイメージを表示する方法はありますか?
- 21. 自動化はあまりにも自動化されているため、導入はいかがですか?
- 22. AnimatedVectorDrawableはアニメーション化されません
- 23. javaでコード化されたクライアントからの戻り値はありますか?
- 24. libgdxは包まれたテキスト
- 25. プログラムでインスタンス化されたオブジェクトthatsクラスにはSpringのライフサイクルアノテーションがあります
- 26. contentInsetをUITableViewにアニメーション化すると、行のサブビューフレームもアニメーション化されます
- 27. なぜ私のUIViewは間違った位置にアニメーション化されますか?
- 28. iOSで '折りたたみ'のアニメーションが表示されます
- 29. フレーム変更でCALayerがアニメーション化されますか?
- 30. libgdxを使ってベクトル化されたテキストを表示するには?
私は似た何かをしました。私は誰かが実際のActorクラスを指摘できるかどうかを待っていますが、そうでない場合はこれを答えとしてマークします。 – Lokiare
あなたのスニペット、ありがとうございました。 –
これはちょっと「遅い」アプローチです:TextureRegion frame2 = bird_07.getKeyFrame(stateTime、true); stage.getSpriteBatch()。begin(); stage.getSpriteBatch()。draw(currentFrame、1000、700);どんな考え? – atok