>チュートリアル(Unity):ハイスコアをサーバーに保存するこのサイトを正しく表示するためには、ブラウザーのJavaScriptの設定を「有効」にしてください。backendを使ってハイスコアをサーバー(データストア)に保存する方法を学びます。配布されているサンプルプロジェクトの元の状態では、ハイスコアは端末内のファイルに書き込まれて保存されています。ハイスコアを管理しているのは、「Score」というクラスです。そこで今回は、ハイスコアをファイルではなくデータストアに保存するように、「Score.cs」を書き換えていきます。ログイン機能を実装していない場合は、「ログイン機能を作る」を先に済ませておいてください。backendとやりとりしてハイスコアの保存と取得を行うクラスを先に定義していきましょう。Scriptsフォルダの中に「HighScore.cs」という名前のC#スクリプトを新規作成し、下記の内容を記述してください。}}ハイスコアの取得と保存には、NCMBQueryクラスを用います。FindAsyncメソッドでレコードを取得、というのが基本的な流れになっています。条件の指定方法は、今回用いたWhereEqualTo以外にも色々なものが用意されています。詳しくはSDKリファレンスをご覧下さい。Objectにアタッチしないで使いましょう。ゲームオブジェクトにアタッチせずに使う利点は、以下のようなものがあります。コードを書くことができる他のシーンでも、そのクラスを使うことができる今回実装したHighScoreクラスは、MVCデザインパターンでいうモデルクラスにあたります。その場合、このようにUnityに依存しない形でコードを書くほうがよいでしょう。実際このクラスは、Unityを使わずに単体テストを行うことができます。Scoreクラスを修正するそれでは次に、既存のScoreクラスを修正して、先ほど定義したHighScoreクラスを使ってハイスコアを管理するようにしていきましょう。同時に、サーバーへの通信(ハイスコアの取得と保存)ができるだけ少なくなるようなロジックも盛り込んでいきます。Score.csを開き、highScoreフィールドの定義を以下のように修正します。"highScore";次に、Updateメソッドを以下のように修正します。先ほど定義したHighScoreクラスのscoreプロパティを参照するようにします。}つづいて、StartメソッドとInitializeメソッドを修正します。ローカルファイルからハイスコアを読み込む代わりに、サーバーから取得する(先ほど定義したHighScore.fetchメソッドを使う)ように変更します。Initializeメソッドはゲームオーバーのたびに呼び出されている(Manager.csを参照)ので、スコアの取得はInitializeメソッドではなくStartメソッドで行うようにします。ハイスコアを取得する。保存されてなければ0点。}最後に、Saveメソッドを以下のように修正し、ハイスコアをサーバーに保存するようにします。}動作確認ここまでできたら、1度動作確認をしてみましょう。以下のことが確認できるはずです。動作確認はLogInシーンを開いてから行ってください。Expertプラン以上のお客様はテクニカルサポートにてご質問を承らせて頂きます。TOPSNSFacebookTwitterQiitaGitHub富士通クラウドテクノロジーズホームへ特定商取引法に基づく表示ウェブサイトの利用について個人情報保護ポリシーについて。