LibGDX'te Animasyonlu (Animasyon alır) bir oyuncu var mı ve bir Sahne Alanı'na eklendiğinde kendini canlandırıyor mu, yoksa kendi Görüntü sınıfınızı hayata geçirmeli ve kendiniz hareketlendirmelisiniz?LibGDX animasyonlu bir oyuncu var mı?
11
A
cevap
9
Sadece ben animasyonlu Erkek Oyuncu bulamadık gibi yüzden kendimi yarattı:
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: Ben sadece "bir yaratılmış
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 "Sadece bir Animasyonu bağımsız değişken olarak alan aktör sınıfı (özel Drawable sınıfına gerek yoktur). Bence bu çözüm, yukarıdakilerden çok daha basit.
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);
}
}
İlgili konular
- 1. libgdx ile animasyonlu gif çalma
- 2. UML'de başka bir oyuncu adına kullanım durumu gerçekleştiren bir oyuncu
- 3. LibGDX
- 4. Libgdx: Bir düğmeye her bir eksende metin yerleştirmenin kolay bir yolu var mı?
- 5. libgdx
- 6. Libgdx
- 7. WPF: Animasyonlu kullanıcı Yükte kontrol var
- 8. libGDX - Garip Çarpışma Davranışı
- 9. Oyuncu takma adı
- 10. Oynatıcı ve oyuncu başına oyuncu bazında kartların geri döndürülmesi javada
- 11. Düzenleri canlandırmanın bir yolu var mı? [Android]?
- 12. Unity Mouselook herhangi bir Oyuncu Oryantasyonundan
- 13. Python oyunu oyuncu hareketi
- 14. , libgdx kullanarak?
- 15. Libgdx - Ekran
- 16. LibGDX: Ölçeklendirilmiş bir TextureRegion Filtreleme
- 17. - Bir fark var mı?
- 18. Java/Libgdx otomatik karo
- 19. Ölçekli LibGDX
- 20. libgdx oyun
- 21. Birlik animasyonlu şerit efekti
- 22. LWJGL + LibGDX + TiledMap 2D Platformer Grafikleri (Başlangıç)
- 23. Aygıt, libGDX
- 24. Titreyen çizgi çekmeden bir çizgi oluşturmanın bir yolu var mı?
- 25. Exo oyuncu DASH Akış örneği
- 26. Gömülü Youtube oyuncu tam ekran
- 27. Unity2D - Oyuncu göreli animasyon konumlandırma
- 28. Oyun Merkezi çeşitli oyuncu kimlikleri
- 29. Libgdx - Bilinmeyen bir konumda IllegalStateException
- 30. Libgdx bir BitmapFont'u nasıl çevirir?
Benzer bir şey yaptılar. Beklemek ve herkesin gerçek bir aktör sınıfına işaret edip edemeyeceğini göreceğim, ancak eğer bunu cevap olarak işaretleyeceğim. – Lokiare
Snippet'iniz için çok teşekkür ederim bayım. –
Bu biraz daha yavaş "doğrudan" yaklaşımı gibi görünüyor: TextureRegion frame2 = bird_07.getKeyFrame (stateTime, true); stage.getSpriteBatch(). Begin(); stage.getSpriteBatch() çizmek (currentFrame, 1000, 700); herhangi bir fikrin neden? – atok