問題タブ [gkturnbasedmatch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - GKTurnBasedMatch プッシュ通知は非常に一貫性がありません
2 つのデバイス間でターン ベースのゲームをテストしています。私が理解している限りでは[GKTurnBasedMatch endTurnWithNextParticipants:]
、たとえば でターンを送信すると、自動的にゲーム センターの通知が対戦相手にプッシュされるはずです。場合によっては、これが期待どおりに機能することもあります。順番が送信されると、すぐにバナー通知が他のデバイスに表示されます。すべては順調です。
私を困惑させているのは、ターン自体が適切に送信されている場合でも (対戦相手が試合を更新すると、試合は最新の状態になるのでわかります)、プッシュ通知が来ないことです。
ここで私の理解に穴はありますか?私が正しく理解している場合、一貫性のない通知は私のコードとは何の関係もないはずです。ここでの問題は通知の処理方法ではなく、通知がまったくないことです。言い換えれば、[handleTurnEventForMatch:]
(GKTurnBasedEventHandlerDelegate
メソッド)はそれとは何の関係もありません(私はそうは思いません)。通知が受信されていない場合、とにかく呼び出されることはないからです。
だから、誰かがこれについて何か経験をしたことがあるかどうか疑問に思っています。これは私のコードの何かが原因である可能性はありますか? または、Game Center サンドボックスが不整合の原因である可能性はありますか?それについて私にできることはありませんか?
どんな考えやアイデアでも大歓迎です。
ios - iOS ゲーム センター -- 頻繁な接続中断メッセージ
GKTurnBasedMatch を使用して、iOS ゲーム センターのゲームに取り組んでいます。ターンが不完全になるたびに、コンソールに次のようなメッセージが表示されます。
興味深いことに、これは私が完全なターンを送ったときに起こりません
しかし、不完全なターンを送ると起こります
他の誰かがここで同様の問題を報告しました: Spurious Game Center player disconnect messages . ただし、GKMatchmakerViewController を使用してマッチを作成しているため、そこにある唯一の答えが私の状況にどのように当てはまるかを確認するのは困難です。
iphone - iOS Gamecenter の match.participants で満席の座席を見つける方法は?
gamecenter を使用してターン ベースの iOS ゲームを書いていますが、部分的に埋められたゲームに現在座っている全員を見つけるのに問題があります。マッチの参加者の配列を調べて、着席しているプレイヤーを引き出すにはどうすればよいですか? 常に [1,8] 人のプレイヤーがゲームに参加しており、ロビーにそれらのプレイヤーを配置しようとしています。
iphone - Game Center のターンベースの対戦リストがオフライン時に表示されない
カスタム ビューを使用して、ターン ベースのゲームでマッチのリストを表示しています。カスタム ビューでは、デバイスがオフラインのときにプレイヤーが関与している現在のゲームのリストを表示する際に問題が発生しています。しかし、ゲームセンターのデフォルトビューを確認すると、オフラインでもマッチは問題なく表示されます。配列にデータを入力するために使用しているコードは次のとおりです (Ray Wenderlich の本から抜粋)
なぜこれが起こっているのですか?
iphone - エラー: あなたは現在の参加者ではありません。私が現在の参加者のとき。何?
ターン ベースの iOS ゲームに取り組んでいるのですが、奇妙なエラーが発生します。私が実際に現在の参加者であることを実際に確認したのに、私は現在の参加者ではないと表示されます。ここで、私が現在の参加者であるかどうかを確認すると、「等しい」と出力されますが、ターンを終了しようとすると「エラー: あなたは現在の参加者ではありません」と表示されます。
ここで一体何が起こっているのですか!?
ios - gkturnbasedmatch でターン タイムアウトを実装するにはどうすればよいですか
ゲーム センター アプリにターン タイムアウト機能を実装したいと考えています。各ユーザーに 30 ~ 60 秒の時間を与えて順番を完了する必要があります。timeout
のパラメータを使用してみましたendTurnWithNextParticipants
が、小さい値では効果がないようです。ターン タイムアウトを通知することはありません。デフォルト値は 1 週間 ( GKTurnTimeoutDefault
) です。したがって、Apple は turnbasedmatch という名前を使用している間、私とは異なるアイデアを持っていたと思います。
私の最善の策は、ユーザーが 30 ~ 60 秒間ターンを受け取ったときにタイマーを設定し、ユーザーがその時間内にターンを行わない場合は、参加者の終了メソッドのいずれかを起動することです。しかし、ユーザーがバッテリーを使い果たしたり、電話をオフにしたり、nstimer が uitouchevents (uiscrollview のスクロールなど) 中にティックを一時停止しているように見えるため、信頼できる解決策ではありません。ターン タイムアウトを確実に実装するためのヒントはありますか?
ios - ゲームキット ターン制ゲーム
iOS ボード ゲームの 1 つをもう一度試す予定です。それは、GameKit のターン ベース API を中心に構築されています。
各ターンに利用できる時間を制限することで、最高のゲーム体験を提供したいと考えています。ここからはターン制APIで可能ですか?
目標は、プレーヤーが 60 秒間プレイできるようにし、ボードの上部にカウンターを表示して、いつ自分の番になるかを確認できるようにすることです。
したがって、世界的な問題は次のとおりです。プレイヤーがゲームをやめずにプレイをやめないようにする方法はありますか? プレーヤーがしばらくデータ接続を失った場合はどうなりますか?
誰かがこの種のゲームで彼の経験を共有できればうれしいです.
乾杯。
シリル
objective-c - GKTurnBasedMatch の参加者が正しくない/重複している
ターン制の GameCenter ゲームに取り組んでいます。AGKTurnBasedMatch
は で作成され、GKMatchRequest
でminPlayers
とmaxPlayers
が 2 に設定されています。NSInvalidArgumentException
でゲームを終了しようとすると、すべての参加者にendMatchInTurnWithMatchData
設定していないというメッセージが表示されます。matchOutcome
この時点の直前の一致オブジェクトのログは、私の一致が次のようになっていることを示しています。
ここに 2 つ以上GKTurnBasedParticipants
ありますが、そのうちの 2 つは同じプレイヤーです。毎ターン次のようにコールすることを除いて、私はゲームで異常なことは何もしません。
ここで何が起こっているのか誰にも分かりませんか?これは 2 人用のゲームですが、どうすればマッチ オブジェクトがめちゃくちゃになってしまうのでしょうか? また、これを防ぐにはどうすればよいでしょうか?
ios - IOS ゲームセンターのマッチメイキング
ゲームセンターでターンベースのゲームに取り組んでいます。次の問題を辛抱強く調査しましたが、誰かが解決策を提供してくれることを願っています。
特定のマップで自動対戦ゲームを開始しました。同じマップを選択したプレイヤーだけに接続してプレイしたいと思います。それを制限する方法はありますか?
ありがとうございました。
ios - IOS Game Center GKLocalPlayerListener
ターンベースのゲームにイベントリスナーを実装して、プレイヤーが自分のターンがアクティブになったとき、または友人から招待されたときに受け取ることができるようにしようとしていました。GKTurnBasedEventHandler は IOS 7 で廃止され、GKLocalPlayerListener を使用する必要があるというドキュメントを読みました。しかし、それはその延長です。どこにも情報がないので、すでに使っている人はいますか?
これは私が以前に試したもので、うまくいきません。