gpt4 book ai didi

android - 如何使用 Google Play 服务在一个应用程序/游戏中管理多个 'minigames'?

转载 作者:行者123 更新时间:2023-11-29 00:04:47 24 4
gpt4 key购买 nike

我开发了一个同时也是游戏的应用程序,因此我决定使用在线多人游戏并在 Google Play 游戏服务中注册它。在开发第一个迷你游戏后,一切都按预期进行,我没有遇到任何问题。在开发第二个小游戏时,我突然想知道如何才能独特地让我的用户在特定的小游戏上玩多人游戏?

该应用程序链接到一个游戏服务,然后该服务为我提供一个存在于我的 list 文件中的 APP_ID,如下所示:

<meta-data android:name="com.google.android.gms.games.APP_ID"
android:value="@string/app_id" />

我可以创建多个游戏服务并将它们全部链接到我的应用程序,这似乎很有意义。但是,我将如何处理应用程序中的多个 APP_ID?当我使用 GoogleApiClient 时,它只是利用 list 中的 APP_ID,我无法指定特定的 APP_ID 游戏服务来启动并提供与 Google Play 游戏和 Google+ 的连接:

mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(Plus.API).addScope(Plus.SCOPE_PLUS_LOGIN)
.addApi(Games.API).addScope(Games.SCOPE_GAMES)
.build();

是否有在一个应用程序中处理多个游戏的最佳实践?

最佳答案

我现在发现你可以指定一个 variant 值,它是一个从 1 到 1023 的 int 值。 build 房间时,你可以设置这个变体到适当的 int 以反射(reflect)不同的游戏类型:

RoomConfig.Builder selectPlayersRoomConfigBuilder = makeBasicRoomConfigBuilder();
selectPlayersRoomConfigBuilder.addPlayersToInvite(invitees);
// specifies a specific game variant
selectPlayersRoomConfigBuilder.setVariant(gameType);
if (autoMatchCriteria != null) {
selectPlayersRoomConfigBuilder.setAutoMatchCriteria(autoMatchCriteria);
}

// prevent screen from sleeping during handshake
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

Games.RealTimeMultiplayer.create(mGoogleApiClient, selectPlayersRoomConfigBuilder.build());

在我的游戏示例中,gameType 是一个 int,当用户选择他们想玩的游戏时,从前面的 Activity 设置,然后传入 Intent 。我决定对第一种游戏类型使用 1,对第二种游戏类型使用 2,等等。

关于android - 如何使用 Google Play 服务在一个应用程序/游戏中管理多个 'minigames'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34658369/

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