ゲームに必須の機能として先ず盛り込んだ ハイスコア機能 では取り敢えず保存と表示を実現しましたが、 理由は孰れにせよ保存されたハイスコアを削除したい機会も訪れるでしょう。 例えば何の気なしに貸し与えた友人が己の手の届かぬハイスコアを叩き出し 何時になっても己の追い着けぬ高得点を見せ付けられるのが堪えられないのも又人情です。
開発機:MacBook Air(11-inch, Mid 2013)
MacOSバージョン:OS X 10.9.2
Xcodeバージョン:5.1
言語:Objective-C
主関連アプリ:uPanda Breaks Out Fruits
この際必要と考えた実装は手順を含めて以下となります。
先ず テーブルセル内にクリアーボタンを表示 しなければなりませんが参考にしたのはサイト YoheiM .NET の2013年1月10日の記事の UIButtonをUITableViewCellに載せる なる項目です。
[XCODE] UITableViewCellに、様々なコントロール要素をのせて表示する方法然したる障害もなくテーブルセル内にクリアーボタンを表示出来たので 次は当該ボタンのカスタマイズの実装で、 目論見としてはクリアーボタンをタップした際に 本当にハイスコアを削除しても良いのか如何かプレイヤーに同意を求めたくありますから イエス、ノー両ボタンを揃えたアラートを表示したくカスタマイズを施したいのでした。 当たって参考にしたのがサイト iPhoneアプリ開発大百科 の2013年1月30日の記事でした。
ポップアップさせるUIAlertViewの使い方以て選択肢を有したアラートを表示させ イエスがタップされれば特定の関数を実行させる実装は達成されたのですから 次は其の実行される ハイスコア削除関数を実装する 必要があります。 此の参考になったのがサイト 始める!!iPhoneアプリ の2013年1月12日の記事でした。 実は此のページは本ブログの2016年5月27日の記事、 NSUserDefaultsでハイスコア保存機能 でも参考にした処で其の際は 保存する関数 及び 保存内容を取得する関数 を参考にしたのですが今回は 保存内容を消す関数 を参照した次第。
005-保存機能(NSUserDefaults)上記事を参考に ViewController にハイスコア削除関数 -(Boolean)Delete_Date:(NSString *)sKey を実装し -(void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex の case:1 、即ちアラートビューでOK!、イエスに類するボタンがタップされたタイミングで実行する実装とし 目論見は達成されました。
蛇足ながら設定画面でハイスコアをクリアーした積りで メニュー画面に戻った際に以前のハイスコアが其の儘表示される問題など有りましたが 実行にタイミングの問題を調整(別記事として配信)して事なきを得た次第。
この時、本当は上記した本ブログの2016年5月27日の記事に於けるハイスコア保存機能と同じく 別クラスとして実装したく思いサイト 夏までにiPhone アプリつくってみっか! の2013年6月14日の記事 【Objective-C】NSUserDefaultsを使ってハイスコアをセーブ をネットより繰り出したりしつつも開発の進捗を優先し保留を判断、 又現在其れは既に実践済みですがブログでの共有は又の機会に。
バージョン: 4.12
リリース: 2014年9月15日
更新: 2022年4月20日
サイズ : 10.7 MB
互換性: iOS 14.4 以降のiPhone、iPod touch に対応。および、macOS 11.0以降とApple M1 チップを搭載したMac に対応。
1件のコメント
コメントは受け付けていません。