【问题标题】:Android Google Play Game Services startQuickGame, undefined makeBasicRoomConfigBuilder()Android Google Play 游戏服务 startQuickGame,未定义 makeBasicRoomConfigBuilder()
【发布时间】:2014-06-26 21:10:27
【问题描述】:

我已经搜索了几个小时,但在互联网上的某个地方找不到答案......希望你们能帮助我。

我想通过 Google Play 游戏服务实现一个快速游戏: https://developers.google.com/games/services/android/realtimeMultiplayer

我按照谷歌网站上的说明进行操作。在我的应用程序中使用谷歌帐户登录成功。现在我想实现一个快速游戏,但是有一个错误消息:

makeBasicRoomConfigBuilder();

方法 makeBasicRoomConfigBuilder();对于 GameActivity 类型是未定义的

这是我的一些代码:

import com.android.vending.billing.IInAppBillingService;
import com.google.android.gms.ads.*;
import com.google.android.gms.common.api.*;
import com.google.android.gms.games.Games;
import com.google.android.gms.games.multiplayer.realtime.RoomConfig;
import com.google.example.games.basegameutils.BaseGameActivity;


public class GameActivity extends BaseGameActivity {

    private static InterstitialAd interstitial;
    private AdView adView;
    private int FieldWidth;
    private int FieldHeight;
    private EditText playerEdit;
    private Button settingsSave;
    private GameView theGameView;
    private static SoundPool soundPool;
    private static HashMap<Integer, Integer> soundsMap;
    IInAppBillingService mService;
    private Sql2Player SqlArray2Player; 
    private Sql3Player SqlArray3Player; 
    private SqlQPlayer SqlArrayQPlayer; 
    public ConnectivityManager conMgr;
    public GameLoopThread theGameLoopThread;

    private void startQuickGame() {
        // auto-match criteria to invite one random automatch opponent.  
        // You can also specify more opponents (up to 3). 
        Bundle am = RoomConfig.createAutoMatchCriteria(1, 1, 0);

        // build the room config:
        RoomConfig.Builder roomConfigBuilder = makeBasicRoomConfigBuilder();
        roomConfigBuilder.setAutoMatchCriteria(am);
        RoomConfig roomConfig = roomConfigBuilder.build();

        // create room:
        Games.RealTimeMultiplayer.create(getApiClient(), roomConfig);

    }

....

有什么想法吗?

谢谢!

【问题讨论】:

    标签: android google-play-games


    【解决方案1】:

    来自https://developers.google.com/games/services/android/troubleshooting

    未调用的侦听器

    缺少多人游戏监听器

    多人游戏通常需要设置监听器,例如 RoomUpdateListener、RoomStatusUpdateListener 和 RealTimeMessageReceivedListener。

    使用此侦听器时的一个常见错误是忘记将它们添加到设置多人游戏的所有代码路径上的 RoomConfig 对象。

    我们建议您编写一个帮助方法来创建具有适当回调的 RoomConfig.Builder:

    private RoomConfig.Builder makeBasicRoomConfigBuilder() {
        RoomConfig.Builder builder = RoomConfig.builder(this);
        builder.setMessageReceivedListener(this);
        builder.setRoomStatusUpdateListener(this);
    
        // ...add other listeners as needed...
    
        return builder;
    }
    

    然后,每次设置多人游戏时都使用此方法,而不是手动设置回调。您必须在开始多人游戏的所有场景中执行此操作,无论您是创建房间还是加入房间。”

    我怀疑您的代码只是缺少一个或多个侦听器。我没有在我的应用程序中编写辅助方法。相反,我建议您查看 ButtonClicker 示例,您将在其中看到更简单的方法:

    https://github.com/playgameservices/android-samples/tree/master/eclipse_compat/ButtonClicker

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-17
      • 1970-01-01
      • 2014-02-02
      • 1970-01-01
      • 1970-01-01
      • 2013-07-31
      • 2017-09-27
      相关资源
      最近更新 更多