使用此代码时成功连接:
将 Google Play 服务添加到 LibGDX 的教程
但是,我现在可以看到 android 标题栏。我已经尝试确定导致标题栏显示的确切原因(并且正在逐字使用教程中的代码)。
我认为这是在混合中有一个 MainActivity 构造函数,不知何故,这绕过了请求 noTitle 的 LibGDX 调用。
所以,我接下来尝试在我的清单中添加 NoTitleBar 的主题功能,这很有效,但不知何故,我现在发生了方向变化(这不是清单中所说的)
任何人都可以在我的主项目或 Android 项目中看到我需要做什么
1) 没有标题栏 2) 不允许更改方向 3) 连接 Google Play 服务
这是清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="pgs.libgdx.liars.dice"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="17" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<meta-data android:name="com.google.android.gms.games.APP_ID"
android:value="@string/app_id" />
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
android:screenOrientation="landscape"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
以下是来自 Android 项目的相关代码:
public class MainActivity extends AndroidApplication implements GameHelperListener, GoogleInterface {
private GameHelper aHelper;
private OnLeaderboardScoresLoadedListener theLeaderboardListener;
public MainActivity(){
aHelper = new GameHelper(this);
aHelper.enableDebugLog(true, "MYTAG");
//create a listener for getting raw data back from leaderboard
theLeaderboardListener = new OnLeaderboardScoresLoadedListener() {
public void onLeaderboardScoresLoaded(int arg0, LeaderboardBuffer arg1,
LeaderboardScoreBuffer arg2) {
System.out.println("In call back");
for(int i = 0; i < arg2.getCount(); i++){
System.out.println(arg2.get(i).getScoreHolderDisplayName() + " : " + arg2.get(i).getDisplayScore());
}
}
};
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
cfg.useGL20 = false;
aHelper.setup(this);
initialize(new LiarsDiceGame(this), cfg);
}
和主要相关代码:
public LiarsDiceGame(){
}
public LiarsDiceGame(GoogleInterface anInterface ) {
platformInterface = anInterface;
//platformInterface.Login();
}
@Override
public void create() {
float w = Gdx.graphics.getWidth();
float h = Gdx.graphics.getHeight();
camera = new OrthographicCamera(1, h/w);
batch = new SpriteBatch();
texture = new Texture(Gdx.files.internal("data/libgdx.png"));
texture.setFilter(TextureFilter.Linear, TextureFilter.Linear);
TextureRegion region = new TextureRegion(texture, 0, 0, 512, 275);
sprite = new Sprite(region);
sprite.setSize(0.9f, 0.9f * sprite.getHeight() / sprite.getWidth());
sprite.setOrigin(sprite.getWidth()/2, sprite.getHeight()/2);
sprite.setPosition(-sprite.getWidth()/2, -sprite.getHeight()/2);
}
其他一切都与使用 gdx-setup-ui.jar 设置 LibGDX 项目时完全相同