我是LibGDX和Android的新手。对不起我的英语不好。
这是我的问题。我只想用libgdx制作一个启动画面,我在youtube上观看了Dustin Riley的libGDX教程。但我的代码不起作用,这里是关于错误的LogCat。
05-07 11:05:19.004: E/AndroidRuntime(838): FATAL EXCEPTION: GLThread
05-07 11:05:19.004: E/AndroidRuntime(838): java.lang.NoClassDefFoundError: com.me.secondGame.tween.SpriteTween
05-07 11:05:19.004: E/AndroidRuntime(838): at com.me.secondGame.screens.SplashScreen.show(SplashScreen.java:57)
05-07 11:05:19.004: E/AndroidRuntime(838): at com.badlogic.gdx.Game.setScreen(Game.java:62)
05-07 11:05:19.004: E/AndroidRuntime(838): at com.me.secondGame.secondGame.create(secondGame.java:10)
05-07 11:05:19.004: E/AndroidRuntime(838): at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:292)
05-07 11:05:19.004: E/AndroidRuntime(838): at com.badlogic.gdx.backends.android.surfaceview.GLSurfaceViewCupcake$GLThread.guardedRun(GLSurfaceViewCupcake.java:708)
05-07 11:05:19.004: E/AndroidRuntime(838): at com.badlogic.gdx.backends.android.surfaceview.GLSurfaceViewCupcake$GLThread.run(GLSurfaceViewCupcake.java:646)
首先我写了代码,这没有任何问题。但我添加了一些补间代码,现在它不起作用。
这是添加的代码
Tween.registerAccessor(Sprite.class, new SpriteTween()); //MY ERROR ON HERE
manager = new TweenManager();
Tween.to(splashSprite, SpriteTween.ALPHA, 2f).target(1).ease(TweenEquations.easeInQuad).start(manager);
我猜有一个逻辑错误。因为没有错误输出。
我的SpriteTween代码。
package com.me.secondGame.tween;
import com.badlogic.gdx.graphics.g2d.Sprite;
import aurelienribon.tweenengine.TweenAccessor;
public class SpriteTween implements TweenAccessor<Sprite> {
public static final int ALPHA = 1;
@Override
public int getValues(Sprite target, int tweenType, float[] returnValues) {
switch (tweenType) {
case ALPHA:
returnValues[0] = target.getColor().a;
return 1;
default:
return 0;
}
}
@Override
public void setValues(Sprite target, int tweenType, float[] newValues) {
switch (tweenType) {
case ALPHA:
target.setColor(1, 1, 1, newValues[0]);
break;
}
}
}
我无法解决问题,现在我的脑袋会爆炸。
编辑:
在Guian的帖子之后我创建了一个新项目,导游说。顺便说一下,我再次看了教程。
非常感谢。
答案 0 :(得分:8)
如果在编译期间找到类但在运行时找不到类,则会发生此类错误。
您需要检查Tween .jar
文件是否已正确包含在类路径中并打包到您的APK中。
仔细检查libGDX谷歌代码页中Android Project Setup处的包含流程。
例如,&#34; libs &#34;文件夹必须被调用&#39; libs&#39;而不是&#39; lib&#39;也没有任何其他内容可以正确包含在APK中。 Tween引擎.jar
文件必须位于此目录中。将.jar
文件放在Eclipse&#34; Java Build Path&#34;是不够的。
有关此主题的更多信息,请参阅:NoClassDefFoundError in Java
答案 1 :(得分:1)
我做到了这一切,一切顺利:
将补间引擎jar从文件夹拖到项目中,右击它,“添加库”,选择android