2012-04-17 40 views
18

Tôi đang gặp khó khăn trong việc tìm ra cách để mời lại một trình phát bị ngắt kết nối theo cách tốt, sử dụng lớp GKMatch cho Trung tâm trò chơi. Trò chơi là một trò chơi 1 so với 1.Kết nối lại máy nghe nhạc trong Game Center

Khi tôi phát hiện một máy nghe nhạc bị ngắt kết nối, tôi cố gắng mời lại mà chơi cụ thể để phù hợp với cuộc gọi này:

[[GKMatchmaker sharedMatchmaker] addPlayersToMatch:theMatch matchRequest:request completionHandler:^(NSError *error) 

này hoạt động như nó phải làm. Khi người chơi khác đã thiết lập kết nối anh ta được mời lại và trận đấu có thể tiếp tục. Nhưng điều này là một vấn đề mà tôi không thể giải quyết được. Ở đây có trường hợp:

  • Trình phát 1 ngắt kết nối.
  • Người chơi 2 rời khỏi trận đấu trong khi Người chơi 1 bị ngắt kết nối.
  • Trình phát 1 kết nối lại và phát hiện rằng anh đã mất kết nối với Trình phát 2 và cố gắng kết nối lại với trình phát2.
  • Người chơi 2 đang tìm kiếm một trận đấu mới, mà anh đang làm với matchMakerViewController.
  • Người chơi 2 đột nhiên tham gia trận đấu cũ với Người chơi 1 mà anh ta đã rời đi.

Vì vậy, vấn đề của tôi là matchmakerViewController cho phép người chơi tham gia các trận đấu cũ nếu họ được mời lại. Có cách nào tốt hơn để xử lý kịch bản kết nối lại này để mọi người không được mời trở lại các trận đấu cũ?

+0

@ Cupcake.Trong mã của tôi nó xảy ra khi 1 người chơi bị ngắt kết nối tự động ngắt kết nối khác khỏi trò chơi.Y nó xảy ra như vậy? Làm thế nào để tránh sự ngắt kết nối này của người chơi 1 mặc dù người chơi 2get diconnect –

Trả lời

0

Tôi sẽ tiếp tục và ngăn chặn việc mời lại từ Người chơi 1 trên cùng một trò chơi nếu tôi phát hiện Người chơi 2 đã sử dụng chức năng thoát thay vì hết thời gian chờ ngắt kết nối.

+0

Làm thế nào người chơi 1 biết rằng người chơi 2 bị ngắt kết nối? –

1

Bạn có thể cung cấp tùy chọn cho trình phát vẫn được kết nối, để mời lại hoặc thoát. Bạn cũng có thể xóa yêu cầu mai mối cho người chơi rời khỏi nếu người chơi khác rời đi.

+0

Các vấn đề của tôi là tái tạo lại. Người chơi 1 reinvites người chơi 2 trong khi người chơi 2 đang tìm kiếm một trò chơi mới. Đây là một vấn đề bởi vì người chơi 2 sẽ được mời lại một trò chơi mà anh ta đã để lại. Tôi không thể loại bỏ yêu cầu mai mối nếu người chơi khác rời đi, bởi vì tôi không biết khi nào anh ta rời đi. Họ không được kết nối vào thời điểm này và không thể biết liệu người chơi có rời đi không. –

Các vấn đề liên quan