質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
ニフティクラウドmobile backend

ニフティクラウドmobile backend (mBaaS)はニフティが提供するBaasサービスです。プッシュ通知、データストア、ファイルストア、会員管理・認証機能などのバックエンド機能をクラウドから提供しています。 Andoird/iOS/JavaScript/Unityと各種SDKに対応しています。

SDK

SDK(software development kit)は特定のハードウェアのプラットフォーム、開発環境又はソフトウェアパッケージでソフトウェアをつくるのに必要な開発ツールのセットです。SDKはAPI、IDE又は他の開発ツールとフレームワークを組み合わせたもので構成されていることがあります。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

0回答

1340閲覧

NCMBのUnity SDKでNullReferenceExceptionエラーを解決したいです。

mnm1995

総合スコア2

ニフティクラウドmobile backend

ニフティクラウドmobile backend (mBaaS)はニフティが提供するBaasサービスです。プッシュ通知、データストア、ファイルストア、会員管理・認証機能などのバックエンド機能をクラウドから提供しています。 Andoird/iOS/JavaScript/Unityと各種SDKに対応しています。

SDK

SDK(software development kit)は特定のハードウェアのプラットフォーム、開発環境又はソフトウェアパッケージでソフトウェアをつくるのに必要な開発ツールのセットです。SDKはAPI、IDE又は他の開発ツールとフレームワークを組み合わせたもので構成されていることがあります。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2022/01/05 05:11

前提・実現したいこと

ニフクラ mobile backendのUnity SDKを用いてランキング機能を実装しているのですが、
データは取得できているにも関わらず、一瞬だけ結果が表示されてすぐに強制終了されてしまう状況です。
こちらの解決方法をご教示いただきたいです。

発生している問題・エラーメッセージ

NullReferenceException: Object reference not set to an instance of an object RankingHyoji+<>c__DisplayClass1_0.<Update>b__0 (System.Collections.Generic.List`1[T] objList, NCMB.NCMBException e) (at Assets/RankingHyoji.cs:30) NCMB.NCMBQuery`1+<>c__DisplayClass44_0[T].<Find>b__0 (System.Int32 statusCode, System.String responseData, NCMB.NCMBException error) (at Assets/NCMB/Script/NCMBQuery.cs:588) NCMB.Internal.NCMBConnection+<SendRequest>d__37.MoveNext () (at Assets/NCMB/Script/NCMBConnection.cs:458) UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at /Users/builduser/buildslave/unity/build/Runtime/Export/Scripting/Coroutines.cs:17)

該当のソースコード

using System.Collections; using System.Collections.Generic; using UnityEngine; using NCMB; using System.Linq; using UnityEngine.UI; public class RankingHyoji : MonoBehaviour { private Text targetText; void Update () { //順位のカウント int count = 0; string tempScore = ""; NCMBQuery<NCMBObject> query = new NCMBQuery<NCMBObject>("data"); ///Scoreフィールドの降順でデータを取得 query.OrderByDescending ("score"); //検索件数を5件に設定 query.Limit = 5; query.FindAsync ((List<NCMBObject> objList ,NCMBException e) => { if (e != null) { UnityEngine.Debug.Log ("ランキング取得失敗"); } else { //検索成功時の処理 UnityEngine.Debug.Log ("ランキング取得成功"); // 値とインデックスのペアをループ処理 foreach (NCMBObject obj in objList) { count++; tempScore += count.ToString() + "位:" + ":ユーザー名:" + obj ["UserName"] + ":スコア:" + obj ["score"] + "\r\n"; this.GetComponent<Text>().text = tempScore; } } }); } }

補足情報

Consoleにはランキング取得成功と表示されており、Textにも問題なくデータが取得・表示されています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fiveHundred

2022/01/05 06:26

理解が違ったらすいませんが、Update()で毎フレーム実行する意味ありますか? そんなに無意味に何度もアクセスしていたら、サーバー攻撃と何ら変わらないと思いますが。
mnm1995

2022/01/05 07:11

コメントいただきありがとうございます。 Update()についてきちんと理解できていませんでした。 初心者のため手探りではありますが、以下のことをしてみて改善されませんでした。 適切な関数があればご教示いただきたいです。 ①以下のサイトを参考に1回だけ呼び出す処理をしました。 https://clrmemory.com/programming/unity/update-once-function/ ②Update()ではなくStart()内に記載
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問