gpt4 book ai didi

android - 如何使用 LibGDx 制作安卓动态壁纸?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:01:56 24 4
gpt4 key购买 nike

我想使用 LibGDx 制作 Android 动态壁纸。我按照 this github link 中的说明创建了项目

但是 Eclipse 显示错误:

MainActivity 类型的方法 createListener() 必须覆盖或实现父类(super class)型方法”

MainActivity 类型的方法 createConfig() 必须覆盖或实现父类(super class)型方法”

并提供删除 @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);
}

最佳答案

关于 LiveWallpapers 的 wiki 似乎已经过时了 o.o(我会检查一下)。这是我的做法:

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) {
}
}
}

(BlocksLW是我在核心项目中的App Listener)

这是Semtiko制作的一个非常好的模板LW Template .我的代码主要基于它,我建议你检查一下 ;)

关于android - 如何使用 LibGDx 制作安卓动态壁纸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20804976/

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