LibGDX - 找不到setRegion(Objec)的合适方法

时间:2017-02-07 20:48:18

标签: java android-studio libgdx

我正在关注制作马里奥的codechool教程,并且几次碰到这个问题。我已经一个星期左右无法解决它。  问题是在作为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)Gradle:错误:找不到合适的方法   setRegion(Object)方法TextureRegion.setRegion(Texture)不是   适用(参数不匹配;对象无法转换为纹理)   方法TextureRegion.setRegion(TextureRegion)不适用   (参数不匹配;对象无法转换为TextureRegion)

有谁知道为什么对象无法转换?还有另一种写作方式吗?

非常感谢提前

1 个答案:

答案 0 :(得分:0)

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

来自LibGDX documentation (excerpt)

// on initialization 
Animation<TextureRegion> walkAnimation = new Animation<TextureRegion>(0.025f, walkFrames);
// in render method
TextureRegion currentFrame = walkAnimation.getKeyFrame(stateTime, true);

setRegion()接受TextureRegionthe API