use*_*071 6 android wallpaper live libgdx
我想Android使用LibGDx. 我按照此 github 链接中的说明创建了该项目
但Eclipse显示错误:
“方法createListener()类型MainActivity必须重写或实现的超类型方法”
“方法createConfig()类型MainActivity必须重写或实现的超类型方法”
并提供删除@Override注释。我的错误在哪里?
我的代码:
public class MainActivity extends AndroidLiveWallpaperService {
@Override
public ApplicationListener createListener() {
return new Wallpaper();
}
@Override
public AndroidApplicationConfiguration createConfig () {
return new AndroidApplicationConfiguration();
}
@Override
public void offsetChange (ApplicationListener listener, float xOffset, float yOffset, float xOffsetStep, float yOffsetStep,
int xPixelOffset, int yPixelOffset) {
Gdx.app.log("LiveWallpaper", "offset changed: " + xOffset + ", " + yOffset);
}
Run Code Online (Sandbox Code Playgroud)
}
看来关于 LiveWallpapers 的 wiki 已经过时了(我要检查一下)。我就是这样做的:
MainActivity.java
package com.zoryth.blockslw;
import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
import com.badlogic.gdx.backends.android.AndroidLiveWallpaperService;
import com.badlogic.gdx.backends.android.AndroidWallpaperListener;
public class MainActivity extends AndroidLiveWallpaperService{
public static float pixelOffset = 0;
@Override
public void onCreateApplication () {
super.onCreateApplication();
final AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
config.useGL20 = false;
config.useCompass = false;
config.useWakelock = false;
config.useAccelerometer = false;
config.getTouchEventsForLiveWallpaper = true;
final ApplicationListener listener = new WallpaperListener();
initialize(listener, config);
}
public static class WallpaperListener extends BlocksLW implements AndroidWallpaperListener {
@Override
public void create() {
super.resolver = new Resolver() {
@Override
public float getxPixelOffset() {
return pixelOffset;
}
};
super.create();
};
/*
* never use xOffset/yOffset and xOffsetStep/yOffsetStep, because custom launchers will mess with your
* brain and this problem can't be fixed! Use only xPixelOffset/yPixelOffset (who used yPixelOffset???)))
*/
@Override
public void offsetChange (float xOffset, float yOffset, float xOffsetStep, float yOffsetStep, int xPixelOffset, int yPixelOffset) {
pixelOffset = xPixelOffset;
}
@Override
public void previewStateChange (boolean isPreview) {
}
}
}
Run Code Online (Sandbox Code Playgroud)
(BlocksLW是我在核心项目中的App Listener)
这是 Semtiko LW Template制作的一个非常好的模板。我的代码主要基于它,我建议您检查一下;)