Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java LibGDX getKeyFrame表示返回object而不是TextureRegion/frame_Java_Android_Libgdx - Fatal编程技术网

Java LibGDX getKeyFrame表示返回object而不是TextureRegion/frame

Java LibGDX getKeyFrame表示返回object而不是TextureRegion/frame,java,android,libgdx,Java,Android,Libgdx,遵循本教程: 我得到“渐变错误:不兼容类型:对象无法转换为TextureRegion” 在这一行: region=heroJump.getKeyFrame(stateTimer) 该跳转声明为: private Animation heroJump; 这是作为以下内容导入的: import com.badlogic.gdx.graphics.g2d.Animation; 在Android Studio中,键入heroJump.getKeyFrame()时弹出框显示该对象是函数的返回类型。 在

遵循本教程:

我得到“渐变错误:不兼容类型:对象无法转换为TextureRegion”

在这一行:

region=heroJump.getKeyFrame(stateTimer)

该跳转声明为:

private Animation heroJump;
这是作为以下内容导入的:

import com.badlogic.gdx.graphics.g2d.Animation;
在Android Studio中,键入heroJump.getKeyFrame()时弹出框显示该对象是函数的返回类型。
在本教程中,它显示了一个纹理框架。
我正在导入与教程相同的内容。
我不确定为什么它不认为返回类型是相同的。
即使当我点击动画类来查看它的文档时,它似乎也给出了正确的返回类型


什么操作不正确,使得AndroidStudio/Compiler知道正确的返回类型并将进行编译?

该方法在API中声明为

public T getKeyFrame(float stateTime)
以及类定义
公共类动画

您有一个原始
动画
实例。进口不是问题。声明是


例如,您需要
私有动画并且你会给出你的
数组

你没有以编译器可以不含糊地确定它们的方式定义泛型<代码>动画
实际上是一个
动画
,其中T需要指定给编译器。“修复”是在heroJump实例中定义T,因此如果预期它是TextureRegion,则需要将其设置为:

private Animation<TextureRegion> heroJump; 
私有动画跳转;

而不是您在代码块中列出的模棱两可的形式。

这很有效。非常感谢。仍然不明白为什么教程在他们的声明中不需要这些。可能随着时间的推移而改变。可能是因为视频中出现的自动完成显示数组参数需要是
TextureRegion
Collection1.9.5 LibGDX版本中更改了类,所以教程可能已经过时。谢谢,将标记为anwser,但几秒钟后你就被打败了:)@ChrisValentine-没问题:d动画类最近更改,请参阅:。如果您遵循教程,请确保使用用于创建教程的libgdx版本。最简单的答案是将“private Animation heroJump;”更改为“private Animation heroJump;”