提问人:Adam 提问时间:12/10/2022 最后编辑:Adam 更新时间:12/12/2022 访问量:79
如何在绘制方法中将对象转换为纹理?
How to cast Object to Texture in draw method?
问:
我正在根据一个教程学习使用 LibGDX 库进行编程,但该教程是在旧版本的 LibGDX 上制作的。大部分都和我的版本一样,我做了一些调整,但我对这个版本了解不多。我有一个和声明:Animation
SpriteBatch
private Animation standLeftAnime,standRightAnime;
private SpriteBatch batcher;
这就是我要做的:
if(chicken.getStandingState()== Chicken.StandingState.STANDLEFT)
batcher.draw(standLeftAnime.getKeyFrame(runTime),chicken.getPositionX(),chicken.getPositionY(),chicken.getWidth(),chicken.getHeight());
else if(chicken.getStandingState()== Chicken.StandingState.STANDRIGHT)
batcher.draw(standRightAnime.getKeyFrame(runTime),chicken.getPositionX(),chicken.getPositionY(),chicken.getWidth(),chicken.getHeight());
但它抛出了一个错误:
SpriteBatch 类型的 draw(Texture, float, float, float, float) 方法不适用于参数 (对象、浮点、浮点、浮点、浮点)
我该如何解决这个问题?
答:
1赞
Tobias
12/12/2022
#1
该类使用泛型类型参数。默认情况下,如果您没有定义一个,则将使用(这就是为什么错误消息显示“不适用于参数(对象,...)”的原因)。Animation
Object
在您的情况下,这意味着您必须更改您发布到的第一个代码片段:
private Animation<TextureRegion> standLeftAnime,standRightAnime;
private SpriteBatch batcher;
也许您还需要更改初始化动画的代码。
评论