teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

6

追記

2021/01/10 03:08

投稿

mafumafu
mafumafu

スコア1

title CHANGED
File without changes
body CHANGED
@@ -115,14 +115,14 @@
115
115
  }
116
116
  ```
117
117
  ###自分で試したこと
118
- `// ↓ ここにサンプルコードを実装 ↓
118
+ ` // ↓ ここにサンプルコードを実装 ↓
119
- var millsec = 123456;
119
+ var millsec = 123456;
120
- var timeScore = new System.TimeSpan(0, 0, 0, 0, millsec);
120
+ var timeScore = new System.TimeSpan(0, 0, 0, 0, millsec);
121
- naichilab.RankingLoader.Instance.SendScoreAndShowRanking(timeScore);`
121
+ naichilab.RankingLoader.Instance.SendScoreAndShowRanking(timeScore);`
122
- ここのコードの123456という部分いろいろ変えて試してみました。
122
+ ここのコードの123456という部分が原因だと思っていろいろ変えて試してみました。
123
123
  ・Time ・timer ・Text ・Time.deltaTime ・timeText
124
124
  ・minutes.ToString("00") + " : " + seconds.ToString("00.00"); など
125
- どれもうまくいきません
125
+ 全て「引数5:は'float'から'int'に変換できません。」 や 「~という名前は存在ません」などと出ます。
126
126
 
127
127
  ###補足情報(FW/ツールのバージョンなど)
128
128
  Windowsのunityでバージョンは2018.4.29f1です。

5

少し進んだので変更

2021/01/10 03:08

投稿

mafumafu
mafumafu

スコア1

title CHANGED
@@ -1,1 +1,1 @@
1
- NCMBを用いたランキングに記録が反映されません
1
+ ランキングに記録が反映されません
body CHANGED
@@ -2,41 +2,17 @@
2
2
  NCMBを用いてタイムアタックのオンライン上のランキングを作りたいです。
3
3
  [https://blog.naichilab.com/entry/webgl-simple-ranking](https://blog.naichilab.com/entry/webgl-simple-ranking)
4
4
  ↑こちらのサイトを参考にしてタイムアタックのオンライン上でのランキングを作っています。
5
- ※本文中でのサイトというのはこのサイトのことです。 一度見ていただけるとありがたいです。
6
5
 
7
- ###実現したいこと
8
- ランキングにタイムアタックの記録を反映させたいです。
9
- それによってリスタート時にも記録が保持されたままになることは防ぎたいです。
10
-
11
6
  ### 発生している問題
12
- **サイトの通りにランキングシステムを作ったのです、ゴールした後シーン移行させてランキングを表示させても記録が反映されません。**
7
+ 記録がランキング反映されません。
13
- 自分で調べたところシーンを移動すると記録が破棄されるらしく、staticなどを試してみたけどうまくいきません。
14
- またstaticを使うとリスタート時にも記録が保存されたままになるらしいというのを知り断念しました。
15
-
16
8
  下の画像の今回のスコアという部分に記録を反映させたいです。
17
9
  ![イメージ説明](6cb3fd6526996ef6ac5f9899563b2a36.png)
18
10
 
19
- ### 自分が思っている原因の候補
20
- 0. サイト内でRankingInfoのCustom Format欄にカスタム日時書式指定文字列を用いて文字列を入力するとあってサイトを参考に入力してみましたがその文字列が間違っている可能性があります。
21
- 〇:〇〇.〇〇(〇分〇〇秒〇〇)という風に表示させたいです。 僕はm:s.ffと書いています。
22
- 0. `// Type == Time の場合
23
- var millsec = 123456;
24
- var timeScore = new System.TimeSpan(0, 0, 0, 0, millsec);
25
- naichilab.RankingLoader.Instance.SendScoreAndShowRanking(timeScore);`
26
- サイトにこのコードを呼び出すと書いてあったのですが、呼び出し方をミスっている可能性があります。
27
- 僕は移行後のシーンのヒエラルキーにGameObjectをつくってそこにこのコードをつけています。
28
- 0. シーン移行時にタイムの記録が破棄されているため表示されていない可能性があります。
29
-
30
11
  ###教えてほしいこと
31
- 0. 自分が入力した文字列が間違っているのであれば正しい文字列を教えてほしいです。
32
- 0. **自分が思っている原因の候補**の番号リスト2のコードの呼び出しをどのようにすればいいのか教えてほしいです。
33
- 0. シーンを移行しても記録が保持できるような方法やコードを教えてほしいです。
34
-   ゲームをリスタートした場合は記録が保持されない方法でお願いします。
35
- 0. 3番も含めたソースコードの改善案を教えてほしいです。
12
+ ランキングが反映できるようなソースコードの改善案を教えてほしいです。
36
- 0. その他何か問題の解決案がありましたら教えてほしいです。
37
13
 
38
14
  ### 該当のソースコード
39
- タイムアタックとゴール後ランキングを表示するシーンに移行するためのソースコード
15
+ タイムアタックの記録を表示するソースコード
40
16
  ```c#
41
17
  using System.Collections;
42
18
  using System.Collections.Generic;
@@ -117,7 +93,7 @@
117
93
  }
118
94
  }
119
95
  ```
120
- ランキング画面を呼び出すために、ゴール後移行したシーンにGameObjectを作り、そこにアタッチしたソースコード
96
+ ランキング画面を呼び出すためコード
121
97
  ```c#
122
98
  using System.Collections;
123
99
  using System.Collections.Generic;
@@ -138,6 +114,15 @@
138
114
  }
139
115
  }
140
116
  ```
117
+ ###自分で試したこと
118
+ `// ↓ ここにサンプルコードを実装 ↓
119
+ var millsec = 123456;
120
+ var timeScore = new System.TimeSpan(0, 0, 0, 0, millsec);
121
+ naichilab.RankingLoader.Instance.SendScoreAndShowRanking(timeScore);`
122
+ ここのコードの123456という部分をいろいろ変えて試してみました。
123
+ ・Time ・timer ・Text ・Time.deltaTime ・timeText
124
+ ・minutes.ToString("00") + " : " + seconds.ToString("00.00"); など
125
+ どれもうまくいきませんでした。
141
126
 
142
127
  ###補足情報(FW/ツールのバージョンなど)
143
128
  Windowsのunityでバージョンは2018.4.29f1です。

4

さらに追記

2021/01/10 02:28

投稿

mafumafu
mafumafu

スコア1

title CHANGED
File without changes
body CHANGED
@@ -24,7 +24,8 @@
24
24
  var timeScore = new System.TimeSpan(0, 0, 0, 0, millsec);
25
25
  naichilab.RankingLoader.Instance.SendScoreAndShowRanking(timeScore);`
26
26
  サイトにこのコードを呼び出すと書いてあったのですが、呼び出し方をミスっている可能性があります。
27
+ 僕は移行後のシーンのヒエラルキーにGameObjectをつくってそこにこのコードをつけています。
27
- 0. シーン移行時に記録が破棄されているため表示されていない可能性があります。
28
+ 0. シーン移行時にタイムの記録が破棄されているため表示されていない可能性があります。
28
29
 
29
30
  ###教えてほしいこと
30
31
  0. 自分が入力した文字列が間違っているのであれば正しい文字列を教えてほしいです。
@@ -139,4 +140,6 @@
139
140
  ```
140
141
 
141
142
  ###補足情報(FW/ツールのバージョンなど)
142
- Windowsのunityでバージョンは2018.4.29f1です。
143
+ Windowsのunityでバージョンは2018.4.29f1です。
144
+
145
+ 回答よろしくお願いします。

3

肝心の教えてほしいことを書いてなかったので追記

2021/01/04 09:56

投稿

mafumafu
mafumafu

スコア1

title CHANGED
File without changes
body CHANGED
@@ -1,9 +1,8 @@
1
1
  ### 前提
2
2
  NCMBを用いてタイムアタックのオンライン上のランキングを作りたいです。
3
- [https://blog.naichilab.com/entry/webgl-simple-ranking]
3
+ [https://blog.naichilab.com/entry/webgl-simple-ranking](https://blog.naichilab.com/entry/webgl-simple-ranking)
4
4
  ↑こちらのサイトを参考にしてタイムアタックのオンライン上でのランキングを作っています。
5
- ※本文中でのサイトというのはこのサイトのことです。
5
+ ※本文中でのサイトというのはこのサイトのことです。 一度見ていただけるとありがたいです。
6
- 詳しい方どうか回答をよろしくお願いします。
7
6
 
8
7
  ###実現したいこと
9
8
  ランキングにタイムアタックの記録を反映させたいです。
@@ -24,10 +23,17 @@
24
23
  var millsec = 123456;
25
24
  var timeScore = new System.TimeSpan(0, 0, 0, 0, millsec);
26
25
  naichilab.RankingLoader.Instance.SendScoreAndShowRanking(timeScore);`
27
- サイトにこのコード呼び出すと書いてあったのですが、呼び出し方をミスっている可能性があります。
26
+ サイトにこのコード呼び出すと書いてあったのですが、呼び出し方をミスっている可能性があります。
28
27
  0. シーン移行時に記録が破棄されているため表示されていない可能性があります。
29
28
 
29
+ ###教えてほしいこと
30
+ 0. 自分が入力した文字列が間違っているのであれば正しい文字列を教えてほしいです。
31
+ 0. **自分が思っている原因の候補**の番号リスト2のコードの呼び出しをどのようにすればいいのか教えてほしいです。
32
+ 0. シーンを移行しても記録が保持できるような方法やコードを教えてほしいです。
33
+   ゲームをリスタートした場合は記録が保持されない方法でお願いします。
34
+ 0. 3番も含めたソースコードの改善案を教えてほしいです。
30
- すべて間違っている可能性もあります。
35
+ 0. その他何か問題の解決案がありましたら教えてほしいです。
36
+
31
37
  ### 該当のソースコード
32
38
  タイムアタックとゴール後ランキングを表示するシーンに移行するためのソースコード
33
39
  ```c#

2

Markdown記法を使ってせいいっぱいわかりやすくしました。

2021/01/04 09:50

投稿

mafumafu
mafumafu

スコア1

title CHANGED
@@ -1,1 +1,1 @@
1
- タイムアタックのオン上のランキング機能実装ついて
1
+ NCMBを用いたランキングに記録が反映されません
body CHANGED
@@ -1,47 +1,36 @@
1
- ### 前提・実現したいこと
2
- タイムアタックのオンライン上のランキングを作りたいです。
3
- すみません。とても初心者です。どうしてもわからなくなったので質問させていただきます。
4
-  今学校でグループでプログラミングの学習をしていて、車のタイムアタックのゲームを作っているのですが、友達同士で競争したいなと思ってオンライン上でのランキングを作っていたところ完全に行き詰ってしいました。 いろいろなサイトを見たりしていろいろ試していたのでがことごとくうまくいきませんでした でもタイムアタックなのにランキング機能がないと少し残念なのでできれば実装したいと思っています。 NCMBなどを用いてオンライン上で作りたいなと思ってます。 回答よろしくお願いします。
5
- 主なサイトとして
6
- https://mbaas.nifcloud.com/doc/current/tutorial/unity_highscore.html
7
- https://mbaas.nifcloud.com/doc/current/tutorial/unity_leaderboard.html
8
- これらのサイトや
9
- https://blog.naichilab.com/entry/webgl-simple-ranking
10
- このサイトなどを参考に作っていました。
11
- 上2つはチュートリアルタイプでそれを自分のゲームに応用するのは自分の実力では難しく、断念しました。
12
- それで一番下のサイトで作ってたのですが最後までできたのにはできたのですがタイムが表示されなかったりエラーが起こったりしています。
13
- 実力不足なだけの質問かもしれませんがどちらのサイトでもまたは別の方法でもよいので実装方法をお教えいただけると嬉しいです。
1
+ ### 前提
2
+ NCMBを用いてタイムアタックのオンライン上のランキングを作りたいです。
3
+ [https://blog.naichilab.com/entry/webgl-simple-ranking]
4
+ ↑こちらサイト参考にしてタイムアタックのオンライン上でのランキングを作っています。
5
+ ※本文中でのサイトというのはこのサイトのことです。
6
+ 詳しい方どうか回答をよろしくお願いします。
14
7
 
8
+ ###実現したいこと
9
+ ランキングにタイムアタックの記録を反映させたいです。
10
+ それによってリスタート時にも記録が保持されたままになることは防ぎたいです。
15
11
 
16
- ### 発生している問題・エラーメッセージ
17
- 最初はゴールした後GoalScene(Goalした後表示されるScene)に移行してランキングを表示させようと思ていたのですがクリアタイムが反映されずたシーン移動すると記録が保持れないことを知り,staticなどを試しいたのですがうまくいかず、さらにstaticだとゲームリスタートしたときもデータ保存がされるみたいなことをしって、それならGameScene(タイムアタックをするScene)内に表示させようと思い下に貼ったソースコードのようにやっみたのですゴールした瞬間表示はされたのですが固っているのかクリックできずタイムも結局表示されませんでした
18
- 下のようにエラーコードも発生しているのすがどちらかいうとうまくタイムが表示できるようなソスコードの改善策教えてもらいたいです。 できればGoalSceneに行した後ランキング表示されるほうお願いしたいです(僕はGoalScene内でGameObjectを作り、そこに// Type == Time の場合
19
-  var millsec = 123456;
20
-  var timeScore = new System.TimeSpan(0, 0, 0, 0, millsec);
21
- naichilab.RankingLoader.Instance.SendScoreAndShowRanking(timeScore);
22
- をアタッチして表示させるようにしていましたがタイムは表示されませんでした。)
23
-  コードを教えてもらうという質問はあまりよくないようなのですがどうしてもわからないので質問させていただきます。
24
- よろしくお願いします。
25
- 一応どんな感じにしたいのか書いておきます。
26
-  スタートライン(ゴールラインと同じ)をスタートすると同時にタイムをスタートさせてゴールした瞬間タイムがとまってそれを記録とし、数秒後シーンを切り替えて自分の記録とランキングを表示させ、自分の記録も登録できるみたいな感じにしたいです。
27
- ```
28
- エラーメッセージ
29
- NullReferenceException: Object reference not set to an instance of an object
30
- NCMB.Internal.NCMBConnection._Connection (System.Object callback) (at Assets/NCMB/Script/NCMBConnection.cs:136)
31
- NCMB.Internal.NCMBConnection.Connect (NCMB.HttpClientCallback callback) (at Assets/NCMB/Script/NCMBConnection.cs:127)
32
- NCMB.NCMBQuery`1[T].Find (NCMB.NCMBQueryCallback`1[T] callback) (at Assets/NCMB/Script/NCMBQuery.cs:569)
33
- NCMB.NCMBQuery`1[T].FindAsync (NCMB.NCMBQueryCallback`1[T] callback) (at Assets/NCMB/Script/NCMBQuery.cs:551)
34
- NCMB.Extensions.YieldableNcmbQuery`1[T].FindAsync () (at Assets/naichilab/unity-simple-ranking/Scripts/NcmbYieldableExtensions.cs:25)
35
- naichilab.RankingSceneManager+<GetHighScoreAndRankingBoard>d__26.MoveNext () (at Assets/naichilab/unity-simple-ranking/Scripts/RankingSceneManager.cs:91)
36
- UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at C:/buildslave/unity/build/Runtime/Export/Coroutines.cs:17)
37
- UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
38
- naichilab.RankingSceneManager:Start() (at Assets/naichilab/unity-simple-ranking/Scripts/RankingSceneManager.cs:77)
39
- ```
12
+ ### 発生している問題
13
+ **サイトの通りにランキングシステムったのですが、ゴールしシーン移ランキングを表示させても記録反映されません。**
14
+ 自分調べたころシを移動すると記録破棄されるらしく、staticなどてみけどうまくきません
15
+ またstaticを使うとリスタート時にも記録が保存されたままになるらしいというのを知り断念しました。
40
16
 
17
+ 下の画像の今回のスコアという部分に記録を反映させたいです。
18
+ ![イメージ説明](6cb3fd6526996ef6ac5f9899563b2a36.png)
19
+
20
+ ### 自分が思っている原因の候補
21
+ 0. サイト内でRankingInfoのCustom Format欄にカスタム日時書式指定文字列を用いて文字列を入力するとあってサイトを参考に入力してみましたがその文字列が間違っている可能性があります。
22
+ 〇:〇〇.〇〇(〇分〇〇秒〇〇)という風に表示させたいです。 僕はm:s.ffと書いています。
23
+ 0. `// Type == Time の場合
24
+ var millsec = 123456;
25
+ var timeScore = new System.TimeSpan(0, 0, 0, 0, millsec);
26
+ naichilab.RankingLoader.Instance.SendScoreAndShowRanking(timeScore);`
27
+ サイトにこのコード呼び出すと書いてあったのですが、呼び出し方をミスっている可能性があります。
28
+ 0. シーン移行時に記録が破棄されているため表示されていない可能性があります。
29
+
30
+ すべて間違っている可能性もあります。
41
31
  ### 該当のソースコード
42
-
43
- c#
32
+ タイムアタックとゴール後ランキングを表示するシーンに移行するためのソースコード
44
- ソースコード
33
+ ```c#
45
34
  using System.Collections;
46
35
  using System.Collections.Generic;
47
36
  using UnityEngine;
@@ -113,34 +102,35 @@
113
102
  step_time += Time.deltaTime;
114
103
 
115
104
  // 3秒後に画面遷移(scene2へ移動)
116
- if (step_time >= 20.0f)
105
+ if (step_time >= 3.0f)
117
106
 
118
107
  SceneManager.LoadScene("Goal");
119
-
120
- // Type == Time の場合
121
- var millsec = 123456;
122
- var timeScore = new System.TimeSpan(0, 0, 0, 0, millsec);
123
- naichilab.RankingLoader.Instance.SendScoreAndShowRanking(timeScore);
124
108
 
125
109
  }
126
110
  }
127
111
  }
128
112
  ```
129
-        
130
- ### 試したこと
131
- RankingInfoのCustom Format欄にカスタム日時書式指定文字列を用いて文字列を書かないといけないらしいのですがサイトを参考に試してみてもうまくいきませんでした。
132
- 僕が書い文字列が合っているかはわかませんが多分れが原因ではないんじゃないかなと思っています。
113
+ ランキング画面を呼び出すめに、ゴール後移行したシーンにGameObjectを作、そにアタッチしたソースコード
133
- タイム〇:〇〇.〇〇(〇分〇〇秒〇〇)という風に表示させたいです。僕はm:sffと書いています。
134
- 僕は// Type == Time の場合
114
+ ```c#
135
- var millsec = 123456;
115
+ using System.Collections;
136
- var timeScore = new System.TimeSpan(0, 0, 0, 0, millsec);
116
+ using System.Collections.Generic;
137
- naichilab.RankingLoader.Instance.SendScoreAndShowRanking(timeScore);
117
+ using UnityEngine;
138
- これを呼び出すというところで何かしらをミスってるのが原因なんじゃないかなと思ってます。
118
+ using NCMB;
139
119
 
120
+ public class RankingSystem : MonoBehaviour
121
+ {
122
+ public int step_time { get; internal set; }
140
123
 
124
+ // Use this for initialization
125
+ void Start()
126
+ {
141
- ### 補足情報(FW/ツーのバジョンなど)
127
+ // ↓ ここにサンプドを実装 ↓
128
+ var millsec = 123456;
142
- Windowsのunityでバージョンは2018.4.29f1です。
129
+ var timeScore = new System.TimeSpan(0, 0, 0, 0, millsec);
130
+ naichilab.RankingLoader.Instance.SendScoreAndShowRanking(timeScore);
131
+ }
132
+ }
133
+ ```
143
134
 
144
-
135
+ ###補足情報(FW/ツールのバージョンなど)
145
- Markdown記法がよくわからず、わかりずらい長文質問になってしまい申し訳ありません
136
+ Windowsunityでバージョンは2018.4.29f1です
146
- 回答よろしくお願いします。

1

誤字

2021/01/04 06:25

投稿

mafumafu
mafumafu

スコア1

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  ### 前提・実現したいこと
2
2
  ○タイムアタックのオンライン上のランキングを作りたいです。
3
3
  すみません。とても初心者です。どうしてもわからなくなったので質問させていただきます。
4
-  今学校でグループでプログラミングの学習をしていて、車のタイムアタックのゲームを作っているのですが、グループで競争したいなと思ってオンライン上でのランキングを作りたいっていたところ完全に行き詰ってしまいました。 いろいろなサイトを見たりしていろいろ試していたのですがことごとくうまくいきませんでした。 でもタイムアタックなのにランキング機能がないと少し残念なのでできれば実装したいと思っています。 NCMBなどを用いてオンライン上で作りたいなと思ってます。 回答よろしくお願いします。
4
+  今学校でグループでプログラミングの学習をしていて、車のタイムアタックのゲームを作っているのですが、友達同士で競争したいなと思ってオンライン上でのランキングを作っていたところ完全に行き詰ってしまいました。 いろいろなサイトを見たりしていろいろ試していたのですがことごとくうまくいきませんでした。 でもタイムアタックなのにランキング機能がないと少し残念なのでできれば実装したいと思っています。 NCMBなどを用いてオンライン上で作りたいなと思ってます。 回答よろしくお願いします。
5
5
  主なサイトとして
6
6
  https://mbaas.nifcloud.com/doc/current/tutorial/unity_highscore.html
7
7
  https://mbaas.nifcloud.com/doc/current/tutorial/unity_leaderboard.html