gpt4 book ai didi

java - 动画 getTexture() 不存在?

转载 作者:行者123 更新时间:2023-11-30 10:28:21 25 4
gpt4 key购买 nike

所以我正在关注 Lee Stemkoski 的“使用 Libgdx 开始 Java 游戏开发”中的第 2 章,一切进展顺利,直到我到达第 49 页“基于图像的动画”

出于某种原因,他的两行代码给我错误

import com.badlogic.gdx.graphics.g2d.Batch;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Animation;
import com.badlogic.gdx.math.MathUtils;

public class AnimatedActor extends BaseActor
{
public float elapsedTime;
public Animation anim;

public AnimatedActor()
{
super();
elapsedTime = 0;
}

public void setAnimation(Animation a)
{
Texture t = a.getKeyFrame(0).getTexture();
setTexture( t );
anim = a;
}

public void act(float dt)
{
super.act( dt );
elapsedTime += dt;
if (velocityX != 0 || velocityY != 0)
setRotation( MathUtils.atan2( velocityY, velocityX ) * MathUtils.radiansToDegrees );
}

public void draw(Batch batch, float parentAlpha)
{
region.setRegion( anim.getKeyFrame(elapsedTime) );
super.draw(batch, parentAlpha);
}
}

纹理 t = a.getKeyFrame(0).getTexture();

这一行告诉我无法解析 getTexture() 方法

region.setRegion( anim.getKeyFrame(elapsedTime) );

这一行只是告诉我“无法解析方法 setRegion(Java.lang.object)”

对于第二行,我尝试输入 cast Texture 并且它没有显示任何错误,但我无法编译,因为第一个错误仍然存​​在

知道为什么会这样吗?

谢谢

最佳答案

此修复适用于 gdx 版本 1.9.10;安卓工作室 3.4.2; gradle 版本 5.4.1;

public class AnimatedActor extends BaseActor
{
...
public AnimatedActor()
{
super();
elapsedTime = 0;
anim = null;
}
public void setAnimation(Animation a)
{
TextureRegion t = (TextureRegion) a.getKeyFrame(0);
setTexture(t.getTexture());
anim = a;
}
...
public void draw(Batch batch, float parentAlpha)
{
TextureRegion t2 = (TextureRegion) anim.getKeyFrame(elapsedTime);
region.setRegion(t2.getTexture());
super.draw(batch,parentAlpha);
}
...
}

关于java - 动画 getTexture() 不存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44689315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com