4

ターン制ゲームを作っています。ユーザーがチートするのを防ぐために、ユーザーがターンの途中でアプリを閉じると、ターンは自動的に対戦相手に渡されます。これは、ユーザーがアプリを閉じて再起動し、最初からターンを開始できないためです。

ただし、プレーヤーにペナルティを科すべきケースが 2 つあります。電話がかかってきた場合や、電池残量の警告が表示された場合。電話の着信を検知して応答することはできますが、バッテリーがどうなるかわかりません。

どんな提案も素晴らしいでしょう

4

1 に答える 1

13

UIDeviceバッテリーの監視は、シングルトンのプロパティを YES に設定することで有効になります。

UIDevice *device = [UIDevice currentDevice];
device.batteryMonitoringEnabled = YES;

iPhone OSは、2 種類のバッテリー監視イベントを提供します。1 つは状態が変化したとき (充電中、プラグが抜かれている、完全に充電されているなど) で、もう 1 つはバッテリーの充電レベルが変化したときに更新されます。近接監視の場合と同様に、コールバックを登録して通知を受け取ります。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(batteryChanged:) name:@"UIDeviceBatteryLevelDidChangeNotification" object:device];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(batteryChanged:) name:@"UIDeviceBatteryStateDidChangeNotification" object:device];

また、このリンクを参照してください。

于 2013-02-12T14:17:45.820 に答える