W LibGDX Czy istnieje aktor, który jest animowany (bierze animację) i gdy jest dodany do stołu montażowego, sam się animuje lub czy musisz zaimplementować własną klasę obrazu i animować ją samemu?LibGDX czy istnieje aktor, który jest animowany?
11
A
Odpowiedz
9
tak jak ty Nie mogę znaleźć animowany aktor więc stworzyłem sobie:
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
ja po prostu stworzył " AnimatedImage "klasa aktorska, która przyjmuje tylko animację jako argument (bez potrzeby stosowania niestandardowej klasy Drawable). Myślę, że to rozwiązanie jest o wiele prostsze niż powyższe.
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);
}
}
Powiązane problemy
- 1. Dodaj blask do obrazu (Aktor) w LibGDX
- 2. Czy jest jakiś lekki aktor w Akka?
- 3. Jak sprawdzić, czy aktor jest bezczynny?
- 4. Sprawdź, czy element jest animowany CSS3
- 5. Jak mogę sprawdzić, czy istnieje aktor Akka (akka 2.2)?
- 6. Czy istnieje sposób na włączenie grafiki wektorowej do rozwoju LibGDX?
- 7. Czy istnieje język programowania, w którym każda funkcja jest zasadniczo uruchamiana jako oddzielny aktor?
- 8. animowany gif ffmpeg jest plamisty
- 9. Czy istnieje maksymalny rozmiar tekstury libGDX na pulpicie?
- 10. Czy jQuery jest animowany między dwiema różnymi klasami CSS?
- 11. libcppa aktor, który spawnuje aktorów na połączeniach gniazdkowych
- 12. Czy istnieje znacznik XML, który jest odpowiednikiem `ListView.addHeaderView '?
- 13. Czy istnieje punkt rozszerzenia WCF, który jest wywoływany przed UserNamePasswordValidator?
- 14. akka: jak sprawdzić, czy aktor został zatrzymany
- 15. Multitekstura LibGDX SpriteBatch jest możliwa?
- 16. Jak programowo sprawdzić, czy obraz GIF jest animowany?
- 17. Czy istnieje odpowiednik ReaderWriterLockSlim, który faworyzuje czytelników?
- 18. Odtwarzanie animowanego gif z libgdx
- 19. Scene2d - Obrócony aktor nie tlumaczy jak oczekiwano
- 20. Animowany ekran powitalny iOS
- 21. iPhone Animowany ekran ładowania
- 22. Animowany błąd kodera gifa
- 23. Dlaczego mój animator UISlider nie jest animowany?
- 24. Aktualny aktor Celuloidu Sidekiqa
- 25. Aktor AkkaNie pomijając aktora ActorRef
- 26. Silverlight 3 i animowany gif
- 27. Cliping animowany div
- 28. Animowany obraz tła
- 29. Animowany ekran powitalny z Phonegapem
- 30. na żądanie aktor uzyskać lub stworzyć
zrobiłem coś podobnego. Zaczekam i zobaczę, czy ktoś może wskazać rzeczywistą klasę Aktorów, ale jeśli nie, zaznaczę to jako odpowiedź. – Lokiare
Dziękuję bardzo za twój fragment, uprzejmy panie. –
To wydaje się nieco wolniejsze niż podejście "bezpośrednie": TextureRegion frame2 = bird_07.getKeyFrame (stateTime, true); stage.getSpriteBatch(). Begin(); stage.getSpriteBatch(). Draw (currentFrame, 1000, 700); Jakiś pomysł, dlaczego? – atok