0
我正在使用libgdx,因为我想调试我的游戏,我试过导入从Android实用工具记录到位于“core \ src \ com”中的主游戏文件\ mygdx \游戏\”。出于某种原因,AndroidStudio不允许我导入该类。任何人都可以给我一个解决方案 试过: 重建项目。Android Studio无法解析符号导入时的日志andoid.util.Log
我正在使用libgdx,因为我想调试我的游戏,我试过导入从Android实用工具记录到位于“core \ src \ com”中的主游戏文件\ mygdx \游戏\”。出于某种原因,AndroidStudio不允许我导入该类。任何人都可以给我一个解决方案 试过: 重建项目。Android Studio无法解析符号导入时的日志andoid.util.Log
由于它在页面Interfacing with Platform-specific Code下的wiki中指定,您需要做的是为您要使用的库提供一个接口,并在内核中使用接口。你必须做的是提供每个启动器类的实现。
例如,您的桌面快速启动栏看起来像这样,
package com.badlogic.drop;
import com.badlogic.gdx.backends.lwjgl.LwjglApplication;
import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration;
public class Main {
public static void main(String[] args) {
LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
config.title = "Drop";
config.width = 800;
config.height = 480;
new LwjglApplication(new Drop(), config);
}
}
你可以在这里看到new Drop()
- 你可以指定你想在游戏中的绑定额外的依赖,对不对?
public class Drop extends Game {
public static final String TAG = Drop.class.getSimpleName();
private Logger logger;
public Drop(Logger logger) {
this.logger = logger;
logger.debug(TAG, "`Drop` game initialized.");
...
}
}
而且在桌面就变成
new LwjglApplication(new Drop(new DesktopLogger()), config);
其中记录仪[核心]
public interface Logger {
void debug(String tag, String message);
//...
}
和桌面记录仪[桌面]
public class DesktopLogger implements Logger {
public void debug(String tag, String message) {
System.out.println("D/" + tag + ": " + message);
}
}
和Android记录器是[android]
public class AndroidLogger implements Logger {
public void debug(String tag, String message) {
Log.d(tag, message);
}
}
所以Android启动变得
public class AndroidLauncher extends AndroidApplication {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration config= new AndroidApplicationConfiguration();
config.useAccelerometer = false;
config.useCompass = false;
initialize(new Drop(new AndroidLogger()), config);
}
}
这可能是因为** **核心不依赖于机器人。只有ANDROID级别取决于android。您需要制作一个界面,并为桌面和其他版本提供实施。 – EpicPandaForce
@EpicPandaForce所以我不能在Core中使用android库。好,谢谢!顺便说一下,你知道与Log类似吗?这很方便。 –
只要你为它提供一个接口,你就可以使用它。我会尽量举一个例子,尽管我大约一年半没有使用LibGDX ... – EpicPandaForce