Android Google Play游戏服务startQuickGame,undefined makeBasicRoomConfigBuilder()
我一直在寻找几个小时,我无法在互联网上找到答案...希望你们能帮助我。Android Google Play游戏服务startQuickGame,undefined makeBasicRoomConfigBuilder()
我想要实现在谷歌Play游戏服务快速游戏: https://developers.google.com/games/services/android/realtimeMultiplayer
我也跟着在谷歌网站上的说明。在我的应用程序中使用Google帐户登录成功。现在我想实现一个简单的游戏,但有一条错误信息:
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);
}
....
任何想法?
谢谢!
这从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