Java LibGDX-未找到适用于setRegion(Objec)的方法

Java LibGDX-未找到适用于setRegion(Objec)的方法,java,android-studio,libgdx,Java,Android Studio,Libgdx,我正在学习代码学校关于制作马里奥的教程,并且有几次碰到这个问题。我已经一个星期左右无法解决它了。 问题是在作为LIBGDX一部分的set方法期间 setRegion(walkAnimation.getKeyFrame(stateTime, true)) 下面是更多的上下文 public void update(float dt){ stateTime += dt; setPosition(b2body.getPosition().x - getWidth() / 2, b2bod

我正在学习代码学校关于制作马里奥的教程,并且有几次碰到这个问题。我已经一个星期左右无法解决它了。 问题是在作为LIBGDX一部分的set方法期间

 setRegion(walkAnimation.getKeyFrame(stateTime, true))
下面是更多的上下文

public void update(float dt){
   stateTime += dt;
   setPosition(b2body.getPosition().x - getWidth() / 2, b2body.getPosition().y - getHeight() / 2);
   setRegion(walkAnimation.getKeyFrame(stateTime, true));
walkAnimation
也在前面的方法中定义

来自android studio的错误是

错误:(33,8)渐变:错误:找不到适用于的方法 setRegion(对象)方法TextureRegion。setRegion(纹理)不可用 适用(参数不匹配;对象无法转换为纹理) 方法TextureRegion.setRegion(TextureRegion)不适用 (参数不匹配;对象无法转换为TextureRegion)

有人知道为什么不能转换对象吗?还有其他的写作方法吗


提前多谢

这很可能是泛型的错误用法。必须用动画声明帧类型。
getKeyFrame()
返回您用声明的
walkAnimation
类型-请参阅

从:

//初始化时
动画walkAnimation=新动画(0.025f,walkFrames);
//在渲染方法中
TextureRegion currentFrame=walkAnimation.getKeyFrame(stateTime,true);

setRegion()
接受一个
TextureRegion
,正如您在中所读到的那样,您可以显示声明/初始化walkAnimation的代码部分吗?在LibGDX版本1.9.5中,动画类已更改为通用类。要使用TextureRegions,请指定其类型。即动画=新动画(//…);啊,非常感谢,我想我需要多读一点关于LibGDX纹理区域用法的书:我的理解如下:私有动画walkAnimation;然后在goomba方法中,walkAnimation=新动画(0.4f,帧)@AdamMcMurchie泛型的正确使用帮助解决了这个问题,对吗?如果是,你能接受这个答案吗?
// on initialization 
Animation<TextureRegion> walkAnimation = new Animation<TextureRegion>(0.025f, walkFrames);
// in render method
TextureRegion currentFrame = walkAnimation.getKeyFrame(stateTime, true);