Android Google Play游戏服务startQuickGame,未定义的makeBasicRoomConfigBuilder()
我已经搜索了好几个小时了,但我在网上找不到答案。。。希望你们能帮我 我想通过Google Play游戏服务实现一个快速游戏: 我按照谷歌网站上的说明做了。在我的应用程序中使用google帐户登录成功。现在我想实现一个快速的游戏,但在上有一条错误消息:Android Google Play游戏服务startQuickGame,未定义的makeBasicRoomConfigBuilder(),android,google-play-games,Android,Google Play Games,我已经搜索了好几个小时了,但我在网上找不到答案。。。希望你们能帮我 我想通过Google Play游戏服务实现一个快速游戏: 我按照谷歌网站上的说明做了。在我的应用程序中使用google帐户登录成功。现在我想实现一个快速的游戏,但在上有一条错误消息: makeBasicRoomConfigBuilder(); 方法makeBasicRoomConfigBuilder();未为GameActivity类型定义 以下是我的一些代码: import com.android.vending.bill
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);
}
....
导入com.android.vending.billing.iiInAppBillingService;
导入com.google.android.gms.ads.*;
导入com.google.android.gms.common.api.*;
导入com.google.android.gms.games.games;
导入com.google.android.gms.games.multiplayer.realtime.RoomConfig;
导入com.google.example.games.basegameutils.BaseGameActivity;
公共类GameActivity扩展了BaseGameActivity{
私人静态间质;
私人咨询咨询;
私有整型字段宽度;
私人国际机场高度;
私人编辑文本播放编辑;
私人按钮设置保存;
私人游戏视图游戏视图;
专用静态声池声池;
私有静态HashMap soundsMap;
IInapplingService mService;
私有Sql2Player SqlArray2Player;
专用Sql3Player SqlArray3Player;
专用SqlQPlayer SqlArrayQPlayer;
公共连接经理conMgr;
公共GameLoop线程GameLoop线程;
私有void startQuickGame(){
//自动匹配条件以邀请一个随机自动匹配对手。
//您还可以指定更多的对手(最多3个)。
Bundle am=RoomConfig.createAutoMatchCriteria(1,1,0);
//构建文件室配置:
RoomConfig.Builder roomConfigBuilder=makeBasicRoomConfigBuilder();
roomConfigBuilder.setAutoMatchCriteria(am);
RoomConfig-RoomConfig=roomConfigBuilder.build();
//创建文件室:
Games.RealTimeMultiplayer.create(getApiClient(),roomConfig);
}
....
有什么想法吗
谢谢!来自:
未呼叫的侦听器
缺少多人游戏侦听器
多人游戏通常需要设置侦听器,如RoomUpdateListener、RoomStatusUpdateListener和RealTimeMessageReceivedListener
使用此侦听器时的一个常见错误是忘记将它们添加到设置多人游戏的所有代码路径上的RoomConfig对象中
我们建议您编写一个帮助器方法,用适当的回调创建RoomConfig.Builder:
然后,每次设置多人游戏时都使用此方法,而不是手动设置回调。无论您是创建还是加入房间,您都必须在启动多人游戏的所有场景中执行此操作。”
我怀疑您的代码缺少一个或多个侦听器。我没有在我的应用程序中编写帮助器方法。相反,我建议您查看ButtonClicker示例,您将看到一种更简单的方法:
private RoomConfig.Builder makeBasicRoomConfigBuilder() {
RoomConfig.Builder builder = RoomConfig.builder(this);
builder.setMessageReceivedListener(this);
builder.setRoomStatusUpdateListener(this);
// ...add other listeners as needed...
return builder;
}